PHP では、変数が空かどうかを判断するには、通常、empty() 関数または isset() 関数を使用できます。ただし、配列の場合、必ずしもすべての状況に当てはまるわけではありません。
PHP では、空の配列は要素のない配列を参照することも、完全に未定義の配列であることもできます。したがって、empty() 関数または isset() 関数を使用して空の配列を決定する場合は注意が必要です。
1. empty() 関数を使用する
empty() 関数で配列が空かどうかを判断するときは、次の 2 つの点に注意する必要があります。 a. 配列が定義されていません true を返します
配列が定義されていない場合、つまり、値が割り当てられていないか、null 値が割り当てられている場合、配列に対して empty() 関数を使用すると、 trueを返します。
例:
$undefined_arr = null; var_dump(empty($undefined_arr)); //true
b。配列に要素がない場合にのみ true を返します。
配列が定義されているが要素がない場合は、空を使用します。 array()関数はtrueを返します。
例:
$empty_arr = array(); var_dump(empty($empty_arr)); //true
上記の特性より、isset()関数を組み合わせることで正確な判定が可能となります。
2. isset() 関数を使用する
isset() 関数は、配列が空かどうかを判断するときに次の 2 つの点に注意する必要があります。配列が未定義の場合は false を返します。
配列が定義されていない場合、つまり、値が割り当てられていない場合、または null の値が割り当てられている場合、配列に対して isset() 関数を使用すると、次の結果が返されます。間違い。
例:
$undefined_arr = null; var_dump(isset($undefined_arr)); //false
b。要素がある場合、または array() 関数を使用して定義されている場合は true を返します。
配列が定義されている場合は、それに関係なく返されます。要素があるかどうかの true。
例:
$empty_arr = array(); $has_element_arr = array('1', '2'); var_dump(isset($empty_arr)); //true var_dump(isset($has_element_arr)); //true
したがって、 isset() 関数を empty() 関数と組み合わせて使用すると、配列が空かどうかを正確に判断できます。
$arr = array(); if(isset($arr) && !empty($arr)){ echo '数组不为空'; } else { echo '数组为空'; }
ここまで、PHP で空配列を判定する方法をいくつか学びましたが、状況に応じて方法を使い分けることで、より正確に配列が空かどうかを判定することができます。
以上がPHPで空の配列を確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。