格式: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 是一个语言结构而非函数,因此它无法被变量函数调用。