PHPで配列内のすべての要素がnullであるかどうかを確認する方法はありますか?
たとえば、私は配列を持っていますarray(null,null,null,null)
-このシナリオをチェックする方法はありますか?
配列全体をループして各要素をチェックするよりも良い方法を探しています。
これを機能させるもう 1 つの簡単な方法は、max()
関数を使用することです。
max(array( 3, 4, null, null ) ) # is 4
max(array( null, null, null, null) # is null
if( is_null(max($array)) ) { ... }
したがって、簡単な呼び出しを発行できます。
これを試して:
$nulls = array(null,null,null,null,null,null,null,null);
var_dump(array_unique($nulls) === array(null)); // prints true
array_filter
動作します:
function checkIsset($val) {
return isset($val);
}
$arr = array(null, null, null, ..., null);
$filteredArr = array_filter($arr, 'checkIsset');
if (count($filteredArr)) {
//not all null
} else {
//all null
}
またはif (empty($filteredArr))
逆が必要な場合。
使用できますarray_filter()
このような:
$nulls = array(null,null,null,null,null);
if(count(array_filter($nulls)) == 0){
echo "all null (or false)";
}
この配列に期待することはわかりませんが、これはnullでfalseにまとめられます...