我想检查这样的数组,如果每个值都是“true”
$arr = array(true, true, true) // would be true
$arr = array(true, true, false) // would be false
$arr = array(false, true, false) // would be false
PHP提供了一个函数“array_sum()”。是否有像“array_and()”这样的简短函数
目前我使用类似的东西:
$result = true;
foreach ($arr as $item) {
$result = $result && $item;
}
有没有更短的解决方案?
答案 0 :(得分:1)
看起来你正在对数组内容进行AND运算。如果是这种情况,您只需询问数组中的任何位置是否出现错误。所以:
$result=in_array(false, $arr,true);
答案 1 :(得分:0)
如果我理解了您可以使用in_array("false")
的问题。
答案 2 :(得分:0)
$foo = array(true, true, false);
if(in_array(false, $foo)) {
echo 'false is present';
}
可能是一种选择,除非我遗漏了什么
答案 3 :(得分:0)
array_product对你来说会很好。
什么?一个肮脏的黑客?嗯,这是php的做事方式。