您现在的位置是:网站首页 > 心得笔记

is_null() isset() defined() empty()的区别

盛悦2019-01-29473人围观
简介在项目开发中经常需要使用is_null() isset() defined() empty()这几项来判断数据是否通过,之前老是不能分清,因此特意总结了下

在项目开发中经常需要使用is_null() isset() defined() empty()这几项来判断数据是否通过,之前老是不能分清,因此特意总结了下


1、is_null()

      bool is_null ( mixed $var )
      当参数满足下面三种情况时,is_null()将返回TRUE,其它的情况就是FALSE

    • 它还没有赋值

    • 它被赋值为NULL

    • 它未定义,相当于unset(),将一个变量unset()后,就是没有定义  

 eg:
    $myvar = NULL;   
    var_dump(is_null($myvar)); // TRUE  
    $myvar1;           
    var_dump(is_null($myvar1)); // TRUE  Notice: Undefined variable  
    $num = 520;  
    unset($num);  
    var_dump(is_null($num));  //TRUE Notice: Undefined variable  
    var_dump(is_null($some_undefined_var)); //TRUE Notice: Undefined variable  

    $myvar = 0; is_null($myvar);     // FALSE  
    $myvar = FALSE; is_null($myvar); // FALSE  
    $myvar = '';  is_null($myvar);   // FALSE

2、isset()

        isset()着重检测一个 变量是否设置和这个变量是否有具体的值,当变量满足这两种情况时isset()返回TRUE

 eg:
    $myvar = NULL; isset($myvar); //  FALSE 当一个变量被赋值为NULL时,就表示这个变量没有值  
    $myvar = 0; isset($myvar);     //   TRUE  
    $myvar = FALSE; isset($myvar); // TRUE  
    $myvar = '';  isset($myvar); //  TRUE  
    isset($some_undefined_var); //  FALSE Undefined variable

3、defined()

        bool defined ( string $name )
        检测是否设置常量

4、empty()

        bool empty ( mixed $var )
        判断变量是否为空。
        若变量不存在,或者变量存在且其值为""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE。

eg:
    $myvar = NULL; empty($myvar); // TRUE  
    $myvar = 0; empty($myvar); // TRUE  
    $myvar = FALSE; empty($myvar); // TRUE  
    $myvar = '';  empty($myvar); // TRUE  
    empty($some_undefined_var); // TRUE