empty和isset的区别
1、empty
判断一个变量是否为空
null、false、0.0、0、’0′、array() 、' '、var $a 都会返回true。
2、isset
判断一个变量是否设置
0、00、’0′、array() 、’ ‘、false、’false’、’null’都返回true。
只有值為null的变量返回true
3、if 判断式
0、00、0.0、’0′、array() 、false、null返回false
‘00′、’0.0′、’null’、’false’、’ ‘返回true
isset判断变量是否已存在(配置)
unset把变量删除(释放)掉
empty 判断变量是否为空
is_null 判断变量是否为NULL
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的值是空

浙公网安备 33010602011771号