PHP中的empty(),isset()和is_null()函数有什么区别?

时间:2018-06-23 10:58:20

标签: php difference isset

我做了很多研究,但无法找到这三个之间的区别。所以我做了一个简短的例子,希望对我们有所帮助。

这是这三个表格的表述

Case             Empty()        isset()     is_null()
1. $a=NULL         1              0             1

2. Not exists      1              0         1/Warning

3. $a=''           1              1             0

4. $a='NULL'       0              1             0

5. $a='testing'    0              1             0

这是实现它的代码。

1 个答案:

答案 0 :(得分:2)

PHP具有不同的功能,可用于测试变量的值。为此,三个有用的功能是isset()empty()is_null()。所有这些函数都返回一个布尔值。如果未正确使用这些功能,则可能导致意外结果。

isset()empty()通常被视为相反的函数,但这并不总是正确的。

isset确定是否设置了变量并且该变量不为NULL

换句话说,仅当变量不为null时,它才返回true。

empty确定变量是否为空

换句话说,如果变量为空字符串,false,array(),NULL,“ 0”,0和未设置的变量,则它将返回true。

is_null查找变量是否为NULL

换句话说,仅当变量为null时,它才返回true。 is_null()与isset()相反,不同之处在于isset()可以应用于未知变量,但is_null()仅适用于声明的变量