php is_null empty isset unset的区别2014-04-17 cnblogs 高进echo !isset(GET[′a′]); //如果得不到变量a的值echoempty(_GET["a"]); //如果变量a的值是空is_null, empty, isset, unset 我们先来看看这4个函数的描述。isset 判断变量是否已存在(配置)unset 把变量删除(释放)掉empty 判断变量是否为空is_null 判断变量是否为NULLok,已经开始搞人了。那么开始,这4个函数中除了unset,其他 3个都是判断函数,unset首先出局,因为他不会搞错,其次是is_null,我们可以把它看成是!isset, 是isset的一个逆操作,下面一张表可以很清楚的说明他们之间的关系:
变量emptyis_nullisset $a=”” true falsetrue $a=null true truefalse var $atruetrue false $a=array() true falsetrue $a=false true falsetrue $a=15falsefalse true $a=1falsefalse true $a=0true false true $a=”0” true falsetrue $a=”true”false falsetrue $a=”false” false false true
从中我们可以发现只要变量是否为” “或者0,或者是false和null,只要是这些值 empty都会返回true,而isset是判断变量是否存在,只要你这个变量不是null或未赋值,返回结果都 是true,而is_null正好是isset的反结果。当然如果只是想做如下工作:echo !isset(GET[′a′]); //如果得不到变量a的值 echoempty(_GET["a"]); //如果变量a的值是空那么结果都是一样的,都可以用。