dtujfmfs06058 2015-11-12 03:28
浏览 133
已采纳

PHP,MYSQL,FOREACH检查值是否相同[重复]

This question already has an answer here:

Example:

Mysql - table_data

  dataid   dataname    datastatus
    1        joel          1
    1        joelle        2
    1        joe           3
    1        joela         4
    1        joella        5

PHP

 $names = array('joel','joelle','joe','joela');
 foreach($names as $name)
 {
    $qcheck = $this->db->query("SELECT * FROM table_data WHERE dataname=".$name."");
     //Do checking here
 }

How can I know if joel, joelle,joe and joela datastatus are all same and not same?

How can I know the output of that example.. the output should be false because all of the status are not same, and In case all of the status are the same how can I know that?

Hope someone could help me thanks in advance..

</div>
  • 写回答

2条回答 默认 最新

  • douwu7563 2015-11-12 03:30
    关注

    An easier way to do this would be to use array_unique(). If the resulting array has only one element they are all the same.

    $sample_array = array('Joe','Joe','Joe','Joe');
    if (count(array_unique($sample_array)) === 1) {
      echo 'all the same';
    }
    else {
      echo 'not all the same';
    }
    

    Output

    all the same
    

    Demo

    $arrays = [
        ['Joe','Joe','Joe','Joe'],
        ['Joe','Joe','Joe','John']
    ];
    foreach ($arrays as $array) {
      if (count(array_unique($array)) === 1) {
        echo 'all the same';
      }
      else {
        echo 'not all the same';
      }
      echo "
    ";
    }
    

    Output

    all the same
    not all the same
    

    Demo

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?