当前位置:主页 > php教程 > PHP7引入的"??"和"?:"的区别

PHP7引入的"??"和"?:"的区别详解

发布:2019-07-02 15:05:45 154


给网友们整理相关的编程文章,网友尚鹤梦根据主题投稿了本篇教程内容,涉及到php、PHP7引入的"??"和"?:"的区别相关内容,已被596网友关注,下面的电子资料对本篇知识点有更加详尽的解释。

PHP7引入的"??"和"?:"的区别

实践出真知~

测试代码

输入测试:

<?php
  $array = [
    'a' => 1,
    'b' => 2,
    'c' => [],
  ];
  $a = $array['c'] ?? 0;
  $b = $array['c'] ?: 0;
  $c = $array['d'] ?? 0;
  $d = $array['d'] ?: 0;
  $e = $array['c'] ? 1 : 0;
  $f = isset($array['c']) ? 1 : 0;
  $g = $array['d'] ? 1 : 0;
  $h = isset($array['d']['e']) ? 1 : 0;
  $i = !empty($array['c']) ? 1 : 0;
  $j = !empty($array['d']) ? 1 : 0;
  var_dump($a);
  var_dump($b);
  var_dump($c);
  var_dump($d);
  var_dump($e);
  var_dump($f);
  var_dump($g);
  var_dump($h);
  var_dump($i);
  var_dump($j);

输出结果:

PHP Notice:  Undefined index: d in /home/fanyu/abc.php on line 11
PHP Notice:  Undefined index: d in /home/fanyu/abc.php on line 14
array(0) {
}
int(0)
int(0)
int(0)
int(0)
int(1)
int(0)
int(0)
int(0)
int(0)

结论

  1. $a ?? 0 等同于 isset($a) ? $a : 0。
  2. $a ?: 0 等同于 $a ? $a : 0。
  3. empty: 判断一个变量是否为空(null、false、00、0、'0′、』这类,都会返回true)。
  4. isset: 判断一个变量是否设置(值为false、00、0、'0′、』这类,也会返回true)。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对码农之家的支持。如果你想了解更多相关内容请查看下面相关链接


参考资料

相关文章

  • PHP如何实现随机数字、字母的验证码的代码

    发布:2020-02-11

    本文通过实例代码给大家介绍了PHP实现随机数字、字母的验证码功能,代码简单易懂,非常不错,具有一定得参考借鉴价值,需要得朋友参考下吧


  • CentOS7编译安装php7.1的步骤方法

    发布:2019-11-26

    这篇文章主要介绍了CentOS7编译安装php7.1的教程详解,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下


  • php解决DOM乱码的实例方法

    发布:2020-06-18

    最近在工作的时候遇到一个问题,在使用DOM的时候,发现了乱码的问题,后来通过查找网上的资料终于解决了,现在将解决的方法分享给大家,感兴趣的朋友们可以参考借鉴,有需要的朋友们下


  • php与nginx的处理方式及nginx与php-fpm通信的方式总结

    发布:2019-06-06

    这篇文章主要介绍了php 与 nginx 的两种处理方式及nginx与php-fpm通信的两种方式,需要的朋友可以参考下


  • 详解php递归函数

    发布:2020-03-13

    这篇文章主要介绍了php递归函数怎么用才有效及php递归函数与非递归函数区别介绍,感兴趣的朋友一起看看吧


  • Thinkphp框架中D方法与M方法的区别

    发布:2023-01-05

    给大家整理了关于Thinkphp的教程,本文主要对ThinkPHP框架中D()和M()方法的区别进行了详细的分析介绍。具有很好的参考价值,需要的朋友一起来看下吧


  • php观察者模式应用场景代码分享

    发布:2020-02-21

    这篇文章主要介绍了php观察者模式应用场景,结合完整实例形式详细分析了php观察者模式的具体定义与使用技巧,需要的朋友可以参考下


  • ThinkPHP的SAE开发相关知识点总结

    发布:2019-06-05

    这篇文章主要介绍了ThinkPHP的SAE开发相关注意事项,结合实例形式较为详细的分析了thinkPHP针对SAE开发的相关数据库、缓存、文件、图片、日志等操作注意事项,具有一定参考借鉴价值,需要的朋友


网友讨论