牛骨文教育服务平台(让学习变的简单)
博文笔记

判断php变量是否为空/已定义

创建时间:2015-01-22 投稿人: 浏览次数:4264

isset()

判断变量是否已设置

格式:bool isset ( mixed var [, mixed var [, ...]] )

1、若变量不存在则返回 FALSE
2、若变量存在且其值为NULL,也返回 FALSE
3、若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE 


empty()

检查变量是否为

格式:bool empty ( mixed var )

1、若变量不存在则返回 TRUE
2、若变量存在且其值为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE
3、若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE 


is_null()

判断是否为null

$var = 0;
// 结果为 true,因为 $var 为空
if (empty($var)) {
    echo "$var is either 0 or not set at all";
}
// 结果为 false,因为 $var 已设置
if (!isset($var)) {
    echo "$var is not set at all";
}
$test=100;
echo is_null($test),is_null(100),is_null($b=100);


注:

1、empty,isset首先都会检查变量是否存在,然后对变量值进行检测。

      is_null 只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误!

2、empty,isset输入参数必须是一个变量(php变量是以$字符开头的),

      is_null输入参数只要是能够有返回值就可以。(常量,变量,表达式等)。

      在php手册里面,对于他们解析是:empty,isset 是一个语言结构而非函数,因此它无法被变量函数调用。


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。