最近 PHP を勉強したのですが、空かどうかの判断に疑問があったのでその記録を共有したいと思います。
empty
variable が空でない値またはゼロ以外の値の場合、empty() は FALSE を返します。つまり、""、0、"0"、NULL、FALSE、array()、var $var、unknown;、および属性のないオブジェクトは空とみなされます。var が空の場合は、TRUE が返されます。 (推奨学習: 初心者からマスターまでの PHP プログラミング )
e が未定義または値が NULL の場合、e が未定義または値が NULL (e=NULL) の場合、空にする必要があります。 、つまり empty($e)=true;
e が int 型の場合、e は int 型、e=0、数値に対して 0 はゼロを表します、つまり empty($e) =true;
e が文字列型の場合、e は文字列型、e=""、文字列を基準にして、"" は空、つまり empty($e)=true;
e が文字列型の場合、e は文字列型、e="0"、文字列を基準にして、「0」はゼロを意味します。つまり、empty($e)=true;
e が bool 型の場合、e は bool 型、e=false、true に対する相対値、false は空を意味します。つまり、empty($e)=true;
e が配列型の場合、e は配列型、a=array( )、配列に対して、要素のないデータは空です。つまり、empty($e)=true;
isset
変数が存在する場合 (非NULL) TRUE を返し、それ以外の場合は FALSE (未定義を含む) を返します。変数値は null に設定され、戻り値も false になります。変数の設定を解除すると、変数はキャンセルされます。 isset は NULL 値変数を特別に処理することに注意してください。
is_null
受信値 [値、変数、式] が null かどうかを確認します。変数が 1 つだけ定義されており、その値が null です。TRUE を返します。その他は戻ります。 FALSE [未定義の変数を渡すとエラーが発生します! ]
場合によっては、変数が NULL かどうかを判断するために isset を使用することをお勧めします。
ただし、意味的に言えば、「変数が初期化されて表示されているかどうか」と「NULL であるかどうか」は別の概念です。関数のチェックなど、一部のシナリオでは isset を使用するのは不適切です。戻り値は NULL です。
この時点で「==」と「===」を使用して、それらが NULL かどうかを判断できます。
「==」と「===」に関しては、直接的な違いは依然として非常に大きいです。 「==」の場合、空の文字列が認識され、0 と false は両方とも NULL になります。 「===」の場合、変数が実際に NULL である場合にのみ NULL を表します。
さらに、「isset」と比較すると、「===」のパフォーマンスは基本的に同等かそれ以上です。
以上のことをまとめると、変数が NULL かどうかを判断する最良の方法は、is_null と isset の間で迷う必要がないように、「===」を直接使用することです。実際、上記の結論は False の判断とも一致しています。
以上がPHP は値が空かどうかを判断しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。