1. isset関数: 変数が初期化されているかどうかを判断します
注: 変数が空かどうかは判断されませんが、配列内の要素が定義されているかどうかを判断するために使用できます
注: isset を使用して配列要素が初期化されているかどうかを判断する場合、その効率は array_key_exists よりも約 4 倍高くなります
リーリー2. empty 関数: 変数が「空」かどうかを検出します
注: 初期化されていない変数、値が 0 または false の変数、または空の文字列 "" または null、空の配列、または属性のないオブジェクトは、empty==true と判断されます
注 1: 初期化されていない変数は、empty によって「空」として検出されることもあります
注 2: empty はステートメントではなく変数のみを検出します
リーリー3. var == null 関数: 変数が「null」かどうかを判断します
注: 値が 0、false、または空の文字列 "" または null の変数と空の配列は null と判断されます
注: empty との大きな違いは、変数が初期化されていない場合、var == null はエラーを報告することです。
リーリー4. is_null 関数: 変数が「null」かどうかを検出します
説明: 変数に値「null」が割り当てられている場合、検出結果は true になります
注 1: null は大文字と小文字を区別しません。$a = null は区別しません
注2: 検出結果は変数の値がnullの場合のみtrueとなり、0、空文字列、false、空配列は全てfalseとして検出されます
注3: 変数が初期化されていない場合、プログラムはエラーを報告します
リーリー5. var === null 関数: 変数が "null" かどうかを検出し、変数の型も "null" である必要があります
説明: 変数に「null」の値が割り当てられ、変数の型も「null」の場合、検出結果は true になります
注1: "null"を判定する場合、is_nullに等しいと同じ効果があります
注2: 変数が初期化されていない場合、プログラムはエラーを報告します
概要:
PHP では、「NULL」と「空」は 2 つの概念です。
isset は主に変数が初期化されているかどうかを判断するために使用されます
emptyは「false」、「empty」、「0」、「NULL」、「未初期化」の値を持つ変数をTRUEと判定できます
is_null は、値が「NULL」の変数のみを TRUE として評価します
var == null は、値が「false」、「empty」、「0」、「NULL」のすべての変数を TRUE として決定します
var === null 値が「NULL」の変数のみがTRUEと判定されます
注: is_null は、変数が本当に "NULL" であるかどうかを判断する場合、主に "false" や "0" などの値による干渉を避けるために使用されます。