当前位置 博文首页 > PHP检查空值的方法总结

    PHP检查空值的方法总结

    作者:小妮浅浅 时间:2021-09-19 19:03

    1、使用empty(),检测变量是否为空

    <?php
    $a = 'test';
    $b = array('key1' => 'value1');
    $class = new stdClass();
    var_dump(empty($c)); // 输出 bool(true)
    var_dump(empty($b['key2'])); // 输出 bool(true)
    var_dump(empty($class)); // 输出 bool(false)
    var_dump(empty($class->test->test)); // 输出 bool(true)
    class EmptyClass{};
    $empty_class = new EmptyClass();
    var_dump(empty($empty_class));// 输出 bool(false)
    ?>

    2、使用isset()判断变量是否被初始化,可用来测试变量是否已经配置

    <?php
    $a = 'test';
    $b = array('key1' => 'value1');
    $class = new stdClass();
    var_dump(isset($class->test->test)); // 判断对象属性是否定义:输出 bool(false)
    var_dump(isset($a)); // 判断变量是否定义:输出 bool(true)
    var_dump(isset($c)); // 判断变量是否定义:输出 bool(false)
    var_dump(isset($b['key1'])); // 判断数组元素是否定义:输出 bool(true)
    var_dump(isset($b['key2'])); // 判断数组元素是否定义:输出 bool(false)
    ?>

    3、使用is_null()检测变量是否为null

    <?php
    $a = null;
    $b = false;
    var_dump(is_null($a));  
    var_dump(is_null($b));
    var_dump(is_null($c));
    ?>

    4、可以使用var == null来判断变量是否为空

    <?php
    $a = 0;
    $b = array();
    var_dump($a == null);  
    var_dump($b == null);
    var_dump($c == null);
    ?>

    知识点扩展:

    是否定义判断: isset()

    可以使用 isset() 函数判断一个变量是否定义,数组内某个元素是否被初始化,它的效率比 array_key_exists() 高4倍左右

    $a = 'test';
    $b = array('key1' => 'value1');
    $class = new stdClass();
    var_dump(isset($class->test->test)); // 判断对象属性是否定义:输出 bool(false)
    var_dump(isset($a)); // 判断变量是否定义:输出 bool(true)
    var_dump(isset($c)); // 判断变量是否定义:输出 bool(false)
    var_dump(isset($b['key1'])); // 判断数组元素是否定义:输出 bool(true)
    var_dump(isset($b['key2'])); // 判断数组元素是否定义:输出 bool(false)
    

    是否为空判断:empty()

    empty() 函数, 检测变量是否为空

    任何一个未初始化的量,0,false,空字符串,null,空数组,使用 empty 判断都会返回 true

    var_dump(empty($c));     // 输出 bool(true)
    var_dump(empty($b['key2'])); // 输出 bool(true)
    var_dump(empty($class));   // 输出 bool(false)
    var_dump($class);       // 输出 object(stdClass)#1 (0) {}
    var_dump(empty($class->test->test)); // 输出 bool(true)
    class EmptyClass{};
    $empty_class = new EmptyClass();
    var_dump(empty($empty_class));// 输出 bool(false)
    
    jsjbwy
    下一篇:没有了