1

PHPで配列内のすべての要素がnullであるかどうかを確認する方法はありますか?

たとえば、私は配列を持っていますarray(null,null,null,null)-このシナリオをチェックする方法はありますか?

配列全体をループして各要素をチェックするよりも良い方法を探しています。

4

5 に答える 5

8

これを機能させるもう 1 つの簡単な方法は、max()関数を使用することです。

max(array( 3, 4, null, null  ) )      # is 4
max(array( null, null, null, null)    # is null

if( is_null(max($array)) ) { ... }したがって、簡単な呼び出しを発行できます。

于 2012-04-03T19:48:58.727 に答える
3

これを試して:

$nulls = array(null,null,null,null,null,null,null,null);
var_dump(array_unique($nulls) === array(null)); // prints true
于 2012-04-03T19:50:37.320 に答える
1

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))逆が必要な場合。

于 2012-04-03T19:50:08.710 に答える
-1

使用できますarray_filter()

このような:

$nulls = array(null,null,null,null,null);
if(count(array_filter($nulls)) == 0){
  echo "all null (or false)";
}

この配列に期待することはわかりませんが、これはnullでfalseにまとめられます...

于 2012-04-03T19:46:46.900 に答える