PHP empty、isset、is_null的区别
empty()和isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。
is_null可以用于变量,值和表达式。
empty
bool empty ( mixed $var ) //判断一个变量是否被认为是空的。 //当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。 //如果变量不存在的话,empty()并不会产生警告。
如果 变量 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var、未定义;以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。
isset
bool isset ( mixed $var [, mixed $... ] ) //检测变量是否设置,并且不是 NULL。
如果 变量 存在(非NULL)则返回 TRUE,否则返回 FALSE(包括未定义)。变量值设置为:null,返回也是false;unset一个变量后,变量被取消了。注意,isset对于NULL值变量,特殊处理。
is_null
bool is_null ( mixed $var ) //如果 var 是 null 则返回 TRUE,否则返回 FALSE。
检测传入值【值,变量,表达式】是否是null,只有一个变量定义了,且它的值是null,它才返回TRUE . 其它都返回 FALSE 【未定义变量传入后会出错!】
在下列情况下一个变量被认为是 NULL:
被赋值为 NULL。
尚未被赋值。
被unset()。
点赞0
支持一下