ホームページ  >  記事  >  バックエンド開発  >  php empty()、isset()、is_null()の違い

php empty()、isset()、is_null()の違い

伊谢尔伦
伊谢尔伦オリジナル
2016-12-02 10:53:14928ブラウズ

PHP の empty()、isset()、is_null() 関数の使用法については多くの議論があり、多くの情報があまり明確ではない可能性があります。ここでも繰り返しますが、概念から語るよりも、直接プログラム例を使って覚えた方がより深いはずです。

テストの種類は次のとおりです:

<?php
 
$a;
$b = false;
$c = &#39;&#39;;
$d = 0;
$e = null;
$f = array();
 
?>

empty()

最初はemptyのvar_dump出力です:

<?php
 
var_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 であるため、 empty() は true を出力します。

isset()

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()

最後に 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 か未定義かどうかを判断するためにのみ使用できることがわかります


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。