• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP空值检测函数与方法汇总

    几乎任何入口的HTTP请求我们都会去检测它携带的参数,类似 isset() empty() 的函数一定不少见。
    以下的测试结果基于 PHP7.16

    是否定义判断: 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)
    

    null == $var 判断

    除了判断未定义的变量会报错外,和 empty 判断一样,0,false,空数组等都会返回 true,实质是 == 表达式会对两边的变量做自动类型转换,所以判断结果为 true。

    is_null判断

    单变量赋值为 null 或者 NULL时,判断结果 true,其他情况为 false,如果变量未定义,则会报错

    null === $var 判断

    表达式: === 为强制类型检测,不仅会检测表达式两边变量的值,还会检测变量的类型,都相等才会返回true。

    0 === $var : 检测是否为 0
    false === $var:检测是否为 false
    null === $var: 检测是否为 null
    '' === $var:检测是否为空字符串,包含任意字符都返回 false,如空格字符,\0
    使用 === 能够很好的区分空字符串,0,false和null,甚至连整形和浮点型都能区分。

    $zero_int = 0;
    $zero_bool = false;
    $zero_double = 0.0;
    $zero_null = null;
    $zero_str = '';
    var_dump(0 === $zero_int);   // 输出 bool(true)
    var_dump(0 === $zero_bool);  // 输出 bool(false)
    var_dump(0 === $zero_double); // 输出 bool(false)
    var_dump(0 === $zero_null);  // 输出 bool(false)
    var_dump(0 === $zero_str);   // 输出 bool(false)
    var_dump('' === $zero_str);  // 输出 bool(true)
    var_dump('' === $zero_int);  // 输出 bool(false)
    var_dump('' === $zero_bool);  // 输出 bool(false)
    var_dump(0.0 === $zero_double);// 输出 bool(true)
    var_dump(0.0 === $zero_int);  // 输出 bool(false)
    
    

    您可能感兴趣的文章:
    • php数组去除空值函数分享
    • php中数字0和空值的区别分析
    • PHP删除数组中空值的方法介绍
    • php不允许用户提交空表单(php空值判断)
    • 巧用php中的array_filter()函数去掉多维空值的代码分享
    • 判断PHP数组是否为空的代码
    • PHP中判断变量为空的几种方法小结
    • php empty() 检查一个变量是否为空
    • php empty函数判断mysql表单是否为空
    • php中经典方法实现判断多维数组是否为空
    上一篇:使用PHPStorm+XDebug搭建单步调试环境
    下一篇:PHP实现在对象之外访问其私有属性private及保护属性protected的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP空值检测函数与方法汇总 PHP,空值,检测,函数,与,方法,