首页 > 代码库 > isset、is_null、empty的区别

isset、is_null、empty的区别

 

版本:PHP 5.4

1、isset() :检测变量是否存在,测试如下:

 1 $a = false;
 2 $b = null;
 3 $c;
 4 $d = 0;
 5 $e = true;
 6 var_dump(isset($a));
 7 var_dump(isset($b));
 8 var_dump(isset($c));
 9 var_dump(isset($d));
10 var_dump(isset($e));

结果如图:

技术分享

总结:当变量为null或未定义的情况下就会返回false;而当变量的值为0,false(应该是被检测时按0算),true时都返回true。

2、is_null():检测变量是否为空类型,测试如下:

 1 $a = false;
 2 $b = null;
 3 $c;
 4 $d = 0;
 5 $e = true;
 6 var_dump(is_null($a));
 7 var_dump(is_null($b));
 8 var_dump(is_null($c));
 9 var_dump(is_null($d));
10 var_dump(is_null($e));

结果如图:

技术分享

总结:1和5因为是布尔类型,所以返回false;2是null所以返回true,3未定义变量返回错误提示+true;4可能判定为布尔类型的false了

3、empty:检查一个变量是否为空,如下:

 1 $a = false;
 2 $b = null;
 3 $c;
 4 $d = 0;
 5 $e = true;
 6 var_dump(empty($a));
 7 var_dump(empty($b));
 8 var_dump(empty($c));
 9 var_dump(empty($d));
10 var_dump(empty($e));

结果如图:

 技术分享

总结:0、null、false都返回false

 

isset、is_null、empty的区别