background image

php 中 is_null,empty,isset,unset 的区别区分

本文主要介绍了,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

” “

从中我们可以发现只要变量是否为

或者 0,或者是 false 和 null,只要是这些值

empty 都会返回 true,而 isset 是判断变量是否存在,只要你这个变量不是 null 或未赋
值,返回结果都是 true,而 is_null 正好是 isset 的反结果。
当然如果只是想做如下工作:
echo !isset($_GET['a']); //如果得不到变量 a 的值
echo empty($_GET['a']); //如果变量 a 的值是空
那么结果都是一样的,都可以用。