ホームページ >バックエンド開発 >PHPチュートリアル >PHP empty()、isset()、is_null()の違い
PHP の empty()、isset()、is_null() 関数の使用法については多くの議論があり、多くの情報があまり明確ではない可能性があります。ここでも繰り返しますが、概念から語るよりも、直接プログラム例を使って覚えた方がより深いはずです。
テストの種類は次のとおりです。
<?php$a;$b = false;$c = '';$d = 0;$e = null;$f = array();?>
最初は空の var_dump 出力です:
<?phpvar_dump(empty($a));var_dump(empty($b));var_dump(empty($c));var_dump(empty($d));var_dump(empty($e));var_dump(empty($f));?>
プログラムの出力は次のとおりです:
bool(true)bool(true)bool(true)bool(true)bool(true)bool(true)
コードからわかるように、empty() はデータ型が空または false である限り true を出力します。
isset の出力をもう一度見てください:
var_dump(isset($a));var_dump(isset($b));var_dump(isset($c));var_dump(isset($d));var_dump(isset($e));var_dump(isset($f));// 输出bool(false)bool(true)bool(true)bool(true)bool(false)bool(true)
isset() は、NULL か未定義かを判断するためにのみ使用できることがわかります。
最後に is_null の出力です:
var_dump(is_null($a));var_dump(is_null($b));var_dump(is_null($c));var_dump(is_null($d));var_dump(is_null($e));var_dump(is_null($f));// 输出bool(true)bool(false)bool(false)bool(false)bool(true)bool(false)
is_null はリテラルです。
empty() はすべてのデータ型が空か false かを判断するために使用できるのに対し、is_null は基本的に isset と同じであり、NULL か未定義であるかを判断するためにのみ使用できることがわかります。 🎜>