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>

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

$sample_array = array('Joe','Joe','Joe','Joe');
$temp = $sample_array[0];
$same = true;

for($i = 1; $i < count($sample_array); $i++) {
    if ($sample_array[$i] != $temp) {
        $same = false;
        break;
    }
}

if ($same) {
    echo 'All same';
} else {
    echo 'Not same';
}

Result:

All same