PHP检查数组?
问题描述:
我只包含布尔数组:PHP检查数组?
$l = array(0=>true,2=>false,3=>true,4=>true,5=>true);
我想要实现这个伪代码:
If at least one element of $l is false:
echo 'Can not do this';
else:
echo 'Can do this';
答
你可以尝试使用array_reduce功能。像这样的东西:错误的元素。
array_reduce($data, function($v, $w){ if ($w == false) { $v++; } return $v; return 1; } , 0);
回调函数计数数组中的假元素数。 但我与array_search或in_array意思之前的变体是更好的。尽量不要使用php的循环,而使用标准的php函数,因为它使用本地c代码,所以速度要快得多。
答
$missing_permission = array_search(false, $l);
if($missing_permission !== false) {
echo 'No way!';
} else {
echo 'OK!';
}
答
循环遍历数组。如果遇到错误元素,请停止并打印“无法执行此操作”。如果遇到数组的末尾,请停止并打印“可以做到这一点”。
答
您可以简单地使用php的in_array函数,该函数检查数组中的给定值。
$l = array(0=> true, 2 => false, 3 => true, 4 => true, 5 => true);
if (in_array(FALSE, $l)) {
echo "can not do this";
} else {
echo "can do this";
}
它应该是_if的至少一种元素..._? in_array: – 2011-12-29 08:48:51
:http://php.net/manual/en/function.in-array.php – 2011-12-29 09:09:40