isset(), empty()和is_null()的区别

来源:互联网 发布:java中offset什么意思 编辑:程序博客网 时间:2024/05/19 15:21

isset(), empty()和is_null()的区别

1)isset — 检测变量是否已设置且非 NULL则返回TRUE;

注意的是 null 字符("\0")并不等同于 PHP 的 NULL 常量。

如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。

官方文档:http://php.net/manual/zh/function.isset.php

 

2)empty — 检查一个变量是否为空

官方文档:http://php.net/manual/zh/function.empty.php

以下的东西被认为是空的:

"" (空字符串)

0 (作为整数的0)

0.0 (作为浮点数的0)

"0" (作为字符串的0)

NULL

FALSE

array() (一个空数组)

$var; (一个声明了,但是没有值的变量)

 

 

 

3)is_null — 检测变量是否为 NULL,是则返回TRUE,否则返回FALSE.

在下列情况下一个变量被认为是 NULL

1.被赋值为 NULL。

2.尚未被赋值。

3. unset()

 

PS:PHP中,“NULL” 和 “空” 是2个概念。
所以我们在判断一个变量是否真正为“NULL”时,大多使用 is_null,从而避免“false”、“0”等值的干扰

 

补充:

var == null  把值为 “假”、“空”、“0”、“NULL” 的变量都判断为TRUE
var === null  仅把值为 “NULL” 的变量判断为TRUE

原创粉丝点击