Welcome 微信登录

首页 / 网页编程 / PHP / php is_null empty isset unset的区别

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 判断变量是否为NULL

ok,已经开始搞人了。那么开始,这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的值是空

那么结果都是一样的,都可以用。