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

来源:互联网 发布:淘宝网改地址 编辑:程序博客网 时间:2024/06/06 03:14

empty(), is_null(), isset()真值表(区别)


1、当变量未定义时,is_null()和“参数本身”是不允许作为参数判断的,会报Notice警告错误;

    2、empty,isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null 和 “参数本身”只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误!

     

    3、isset():仅当null和未定义,返回false;

    4、empty():""、0、"0"、NULL、FALSE、array(),未定义,均返回false;

    5、is_null():仅判断是否为null,未定义 报警告;

    6、变量本身作为参数,与empty()一致,但接受未定义变量时,报警告;


""、0、"0"、NULL、FALSE、array()这几个中,empty()和“变量本身作为参数”结果一致,均作为“空”来处理,而isset()和is_null ()仅当是null时,才作为“空”来处理(值得注意的是false并不会被认为是空)




    empty()

    如果 变量 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var、未定义,以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

    isset()

    如果 变量 存在且值非NULL,则返回 TRUE,否则返回 FALSE(包括未定义)。变量值设置为:null,返回也是false;unset一个变量后,变量被取消了。注意,isset对于NULL值变量,特殊处理。

    is_null()

    检测传入值【值,变量,表达式】是否是null,只有一个变量定义了,且它的值是null,它才返回TRUE . 其它都返回 FALSE 【未定义变量传入后会出错!】。

0 0
原创粉丝点击