php 中 is_null, empty, isset, unset 的区别详细介绍

is_null, empty, isset, unset 我们先来看看这4个函数的描述。

isset 判断变量是否已存在(配置);
unset 把变量删除(释放)掉;
empty 判断变量是否为空;
is_null 判断变量是否为 NULL;

ok,已经开始搞人了。那么开始,这4个函数中除了 unset,其他3个都是判断函数,unset 首先出局,因为他不会搞错。其次是 is_null,我们可以把它看成是 !isset,是 isset 的一个逆操作,下面一张表可以很清楚的说明他们之间的关系:

 变量              empty         is_null           isset

 $a=""             true           false            true
 $a=null           true           true             false
 var $a            true           true             false
 $a=array()        true           false            true
 $a=false          true           false            true
 $a=15             false          false            true
 $a=1              false          false            true
 $a=0              true           false            true
 $a="0"            true           false            true
 $a="true"         false          false            true
 $a="false"        false          false            true

is_null, empty, isset 的区别:



从中我们可以发现只要变量是否为 " " 或者 0,或者是 false 和 null,只要是这些值 empty 都会返回 true,而 isset 是判断变量是否存在,只要你这个变量不是 null 或未赋值,返回结果都是 true,而 is_null 正好是 isset 的反结果。


猜你喜欢

转载自chenjian202004.iteye.com/blog/2256231