。 1. isset 関数: 変数が初期化されているかどうかを判断します
注: 変数が空かどうかは判断しませんが、配列内の要素が定義されているかどうかを判断するために使用できます 注: isset を使用して配列要素が初期化されているかどうかを判断します 古いものですが、その効率は array_key_exists
$a = ''; $a['c'] = ''; if (!isset($a)) echo '$a 未被初始化' . ""; if (!isset($b)) echo '$b 未被初始化' . ""; if (isset($a['c'])) echo '$a 已经被初始化' . ""; // 显示结果为 // $b 未被初始化 // $a 已经被初始化2 よりも約 4 倍高くなります。 空の関数: 変数が「空」かどうかを検出します
説明: 初期化されていない変数、値は 0 です。または false または空の 文字列
"" または 属性のない null 変数、空の配列、および オブジェクト はすべて empty==true と判断されます 注 1: 初期化されていない変数は、次の方法で「空」として検出することもできます。 empty 注 2 :empty は変数のみを検出できますが、ステートメントは検出できません$a = 0;
$b = '';
$c = array();
if (empty($a)) echo '$a 为空' . "";
if (empty($b)) echo '$b 为空' . "";
if (empty($c)) echo '$c 为空' . "";
if (empty($d)) echo '$d 为空' . "";
3. var == null 関数: 変数が「空」かどうかを判断します
説明: 値が 0、false、または空の変数string "" または null 、空の配列は null と判断されます注: 空との大きな違いは、変数が初期化されていない場合、 var == null はエラーを報告することです。
$a = 0; $b = array(); if ($a == null) echo '$a 为空' . ""; if ($b == null) echo '$b 为空' . ""; if ($c == null) echo '$b 为空' . ""; // 显示结果为 // $a 为空 // $b 为空 // Undefined variable: c
4. is_null 関数: 変数が "null" かどうかを検出します
説明: 変数に "null" の値が割り当てられている場合、検出結果は true になります注 1: null は大文字と小文字を区別しません。 $a = null; $a = NULL は違いはありません注 2: 検出結果は変数の値が null の場合のみ true、0、空の文字列、false、空の配列はすべて false として検出されます
注3: 変数が初期化されていない場合、プログラムはエラーを報告します$a = null; $b = false; if (is_null($a)) echo '$a 为NULL' . ""; if (is_null($b)) echo '$b 为NULL' . ""; if (is_null($c)) echo '$c 为NULL' . ""; // 显示结果为 // $a 为NULL // Undefined variable: c
説明: 変数に「null」の値が代入されており、変数の型も「null」の場合、検出結果は真となります注1: 「null」と判定された場合は、 is_null と同じ効果です 注 2: 変数が初期化されていない場合、プログラムはエラーを報告します
要約すると、PHP では、「NULL」と「空」は 2 つの概念です。
issetは主に変数が初期化されているかどうかを判断するために使用されます空の値を持つ変数は、「false」、「empty」、「0」、「NULL」、「初期化されていない」と判断できます。 TRUEis_null 値が「NULL」の変数のみをTRUEと判定します
var == nullの値が「false」、「empty」、「0」、「NULL」の変数をTRUEと判定します。var === null. 値が「NULL」である変数のみがTRUEと判断されます
そのため、変数が本当に「NULL」であるかどうかを判断する場合は、主にis_nullを使用します。 「false」、「0」、その他の値による干渉を避けるため。
以上がPHPで変数が空かどうかを判定する方法の例のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。