is_null, empty, isset, unset 我们先来看看这4个函数的描述。
isset 判断变量是否已存在(配置);
unset 把变量删除(释放)掉;
empty 判断变量是否为空;
is_null 判断变量是否为 NULL;
ok,已经开始搞人了。那么开始,这4个函数中除了 unset,其他3个都是判断函数,unset 首先出局,因为他不会搞错。其次是 is_null,我们可以把它看成是 !isset,是 isset 的一个逆操作,下面一张表可以很清楚的说明他们之间的关系:
is_null, empty, isset 的区别:
[img]http://dl2.iteye.com/upload/attachment/0113/0168/1c89f9d0-8e42-3b87-b862-7f7caebbc458.png[/img]
从中我们可以发现只要变量是否为 " " 或者 0,或者是 false 和 null,只要是这些值 empty 都会返回 true,而 isset 是判断变量是否存在,只要你这个变量不是 null 或未赋值,返回结果都是 true,而 is_null 正好是 isset 的反结果。
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 的区别:
[img]http://dl2.iteye.com/upload/attachment/0113/0168/1c89f9d0-8e42-3b87-b862-7f7caebbc458.png[/img]
从中我们可以发现只要变量是否为 " " 或者 0,或者是 false 和 null,只要是这些值 empty 都会返回 true,而 isset 是判断变量是否存在,只要你这个变量不是 null 或未赋值,返回结果都是 true,而 is_null 正好是 isset 的反结果。