+
82
-

php中is_null empty isset区别?

php

最近被isset is_null empty搞蒙了,好像多一样,有什么区别?

高手回复

+
2
-

1、isset()函数用来检测一个变量是否已声明并且值不为NULL,也就是说只有在值不为NULL时返回真值

2、empty()用来检测一个变量是否为空如果有如下情况返回真值:

    1)空字符串

    2)false

    3)空数组

    4)NULL

    5)0

    6)0.0

    7)unset之后的变量

    8)字符串0

3、is_null()用来判断变量内容是否是null值,返回真值的条件仅仅是变量为null时,所以他是isset()的反函数,从上表中也可以看出来

具体测试如下

对比项 isset()方法empty()方法is_null方法
""(空字符串)trueturefalse
" "(一个空格)truefalsefalse
FALSEtruetruefalse
TRUEtruefalsefalse
array()(一个空数组)truetruefalse
NULLfalsetruetrue
"0"(字符串0)truetruefalse
0(整型0)truetruefalse
0.0(浮点型)truetruefalse
$a(未赋值变量)falsetruefalse
by ppzhuzhu
我知道答案,我要回答