PHP は、関数内で渡されるパラメータ値の「型」と「値が空か NULL か」をチェックすることが不可欠な手順です。
isset() empty() のような関数は、ほとんどすべてのエントリ HTTP リクエストによって運ばれるパラメータを検出します。
次のテスト結果は、PHP7.16
が定義されているかどうかに基づいています: isset()
isset() 関数を使用して、変数が定義されているかどうか、および配列内の要素が初期化されているかどうかを判断できます。効率は array_key_exists( ) よりも優れており、約 4 倍です
$a = 'test'; $b = array('key1' => 'value1'); $class = new stdClass(); var_dump(isset($class->test->test)); // 判断对象属性是否定义:输出 bool(false) var_dump(isset($a)); // 判断变量是否定义:输出 bool(true) var_dump(isset($c)); // 判断变量是否定义:输出 bool(false) var_dump(isset($b['key1'])); // 判断数组元素是否定义:输出 bool(true) var_dump(isset($b['key2'])); // 判断数组元素是否定义:输出 bool(false)
空かどうかの判定: empty()
empty() 関数は、変数が空かどうかを検出します
初期化されていないもの数量、0、false、空の文字列、null、空の配列、空の判定を使用すると true が返されます
var_dump(empty($c)); // 输出 bool(true) var_dump(empty($b['key2'])); // 输出 bool(true) var_dump(empty($class)); // 输出 bool(false) var_dump($class); // 输出 object(stdClass)#1 (0) {} var_dump(empty($class->test->test)); // 输出 bool(true) class EmptyClass{}; $empty_class = new EmptyClass(); var_dump(empty($empty_class));// 输出 bool(false)
null == $var判定
ただし、未定義の変数の判定はエラーを報告します, 空判定と同じで、0、False、空配列などはすべてtrueを返します。==式は両側の変数に対して自動型変換を行うので、判定結果はtrueになります。
is_null判定
単一変数の代入がnullまたはNULLの場合は判定結果がtrue、それ以外の場合はエラーが報告されます
null === $var判定。
式: == = は必須の型検出です。式の両側の変数の値を検出するだけでなく、変数の型も検出します。それらが等しい場合にのみ True が返されます。
0 === $var: 0かどうか確認
false === $var: falseかどうか確認
null === $var: nullかどうか確認
'' === $var: 確認null かどうか 文字列に空白文字などの文字が含まれている場合は、false が返されます。
以上がPHPでのNULL値検出機能の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。