1

私の配列は次のようになります

Array ( [] => ) 

私には空であり、それを確認する方法を探しています。

最初の考え:

if( empty($array) ){
    echo 'Array is empty!';
}

空の関数に対して、私の配列は空ではありません。「本当の」空の配列は、Array() のようになります。

考え直し:

if( $array[''] == '' ){
    echo 'Array is empty!';
}

これは私の空の配列には当てはまりますが、そのような空のキーと値のペアを含まない他の配列ではエラーがスローされます。

何か案は?

私の配列のVar_dump:

array(1) { [""]=> NULL } 
4

3 に答える 3

1

なぜその配列が必要なのか、どの問題コードがそれを生成したのかはわかりませんが、

if(empty(array_filter($array))) {
    echo 'Array is empty!';
}

明らかなチェック:

if(empty($array) || (count($array) == 1 && isset($array['']) && empty($array['']))) {
    echo 'Array is empty!';
}
于 2013-10-31T18:34:03.903 に答える
1

これらの呼び出しを見てください:

 $a = Array(null => null);
 $x = (implode("", array_keys($a)));
 $y = (implode("", array_values($a)));

それらを使用してデータの「空」を制御できます(キー、値、またはその両方)

編集:これは空として返されます:

$a = Array(null => false);

また、これはあなたの問題だと思います

于 2013-10-31T18:44:45.230 に答える