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