所有值等于测试值
if (count(array_unique($allvalues)) === 1 && end($allvalues) === 'true') {
}
或只是测试你不想要的东西的存在。
if (in_array('false', $allvalues, true)) {
}
如果你确定在数组中只有两个可能的值,那么更喜欢后一种方法,因为它更有效率。但如果有疑问,一个慢的程序比一个不正确的程序,所以使用第一个方法。
如果你不能使用第二个方法,你的数组是非常大的,数组的内容可能有一个以上的值(特别是如果值可能发生在数组的开始附近),它可能是更快地做以下:
function isHomogenous($arr) {
$firstValue = current($arr);
foreach ($arr as $val) {
if ($firstValue !== $val) {
return false;
}
}
return true;
}