如何检查数组是否包含所有false
值?
$arr = array(false, false, false);
$arr2 = array(true, false, false, 123);
check_false_array($arr);
true
check_false_array($arr2);
false
修改:不仅允许true
/ false
值
答案 0 :(得分:1)
使用array_filter()
和empty()
。 array_filter()
将删除所有错误值,如果empty()
返回true,则表示您拥有所有错误值。
function check_false_array(array $array) {
return empty(array_filter($array, 'strlen'));
}
var_export(check_false_array(array(false, false, false)));
echo "\n";
var_export(check_false_array(array(false, true, false)));
echo "\n";
var_export(check_false_array(array(0,0,0)));
如果您希望0
被视为false
,请删除'strlen'
中array_filter()
的回调。
答案 1 :(得分:0)
您可以array_filter
使用回调功能与false
& empty
要检查。
$arr = array(false, false, false);
$check = array_filter($arr, function($x) {
return ($x !== false);
});
if(empty($check)) // $check will be empty if all the value is false (only false)
答案 2 :(得分:-1)
这两个函数将检查你需要什么,假设数组只能有" true"或"假"没有别的
function isFalseArray($arr){
foreach($arr as $a){
if($a == "true")
return false;
}
return true;
}
function isTrueArray($arr){
foreach($arr as $a){
if($a == "false")
return false;
}
return true;
}