PHP isset()和empty()的区别

今天再做一个功能时,需要检测检测数据库某个字段为是否为空,特地复习了一个下几个检测函数复习一下。

1、empty

判断一个变量是否为空

null、false、00、0、’0′、』。都会返回true。

2、isset

判断一个变量是否设置

0、00、’0′、』、’ ‘、false、’false’、’null’都返回true。 
只有值為null的变量返回false

3、if 判断式

0、00、0.0、’0′、』、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的值是空

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qiangzaiying123/article/details/62068438

今天再做一个功能时,需要检测检测数据库某个字段为是否为空,特地复习了一个下几个检测函数复习一下。

1、empty

判断一个变量是否为空

null、false、00、0、’0′、』。都会返回true。

2、isset

判断一个变量是否设置

0、00、’0′、』、’ ‘、false、’false’、’null’都返回true。 
只有值為null的变量返回false

3、if 判断式

0、00、0.0、’0′、』、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的值是空

猜你喜欢

转载自blog.csdn.net/Su_Xingyu/article/details/79900153