示例:
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
}
我怎么知道joel,joelle,joe和joela datastatus是否都相同且不相同?
我如何知道该示例的输出..输出应该为false,因为所有状态都不相同,如果所有状态都相同,我怎么知道?
希望有人能提前帮助我...
答案 0 :(得分:4)
更简单的方法是使用array_unique()
。如果结果数组只有一个元素,则它们都是相同的。
$sample_array = array('Joe','Joe','Joe','Joe');
if (count(array_unique($sample_array)) === 1) {
echo 'all the same';
}
else {
echo 'not all the same';
}
输出
all the same
$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 "\n";
}
输出
all the same
not all the same
答案 1 :(得分:0)
$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';
}
结果:
All same