プログラム開発では、変数が空かどうかを判断する必要があるとき、isset()、empty()、is_null() が常に混乱することがあります。以下にそれらの違いを紹介しましょう
1. isset、変数が初期化されているかどうかを判断します
isset()、変数が設定されているかどうかを判断します、変数が空かどうかは判断しません配列内の要素が定義されているかどうかを判断するために使用できます
コードの説明:
<?php $a = ''; $a['c'] = ''; if (!isset($a)) echo '$a 未被初始化' . ""; if (!isset($b)) echo '$b 未被初始化' . ""; if (isset($a['c'])) echo '$a 已经被初始化' . ""; // 显示结果为 // $b 未被初始化 // $a 已经被初始化 ?>
2.空、変数が「空」かどうかを検出します
empty(), any 初期化されていない変数、値が 0 または false の変数、または空の文字列 "" または null、空の配列、または属性のないオブジェクトは empty()==true
と判断されます。注 1: 初期化されていない変数は、empty によって「空」として検出されることもあります
注 2: empty はステートメントではなく変数のみを検出します
コードの説明:
<?php $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. $a == null、変数が「空」かどうかを判断します
#注: 値が 0 または false の変数および空の配列、または空の文字列 "" または null は null と判断されます注: 空との明らかな違いは、変数 $a が初期化されていない場合、$a == null はエラーを報告することです。 コードの説明:<?php $a = 0; $b = array(); if ($a == null) echo '$a 为空' . ""; if ($b == null) echo '$b 为空' . ""; if ($c == null) echo '$b 为空' . ""; // 显示结果为 // $a 为空 // $b 为空 // Undefined variable: c ?>
コードの説明:
<?php $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 ?>
以上がPHPで変数が空かどうかを検出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。