PHP7引入的"??"和"?:"的区别讲解
发布:smiling 来源: PHP粉丝网 添加日期:2021-11-15 21:42:24 浏览: 评论:0
今天小编就为大家分享一篇关于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 = !emptyempty($array['c']) ? 1 : 0;
- $j = !emptyempty($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)
结论:
$a ?? 0 等同于 isset($a) ? $a : 0。
$a ?: 0 等同于 $a ? $a : 0。
empty: 判断一个变量是否为空(null、false、00、0、'0′、』这类,都会返回true)。
isset: 判断一个变量是否设置(值为false、00、0、'0′、』这类,也会返回true)。
Tags: PHP7 ?? ?:
- 上一篇:php+mysql开发中的经验与常识小结
- 下一篇:PHP7新功能总结
相关文章
- ·程序员必读:在PHP7中不要做这10件事(2018-01-27)
- ·PHP7错误处理机制详解介绍(2018-09-16)
- ·PHP 7的一些引人注目的新特性简单介绍(2021-06-26)
- ·带你了解PHP7 性能翻倍的关键(2021-06-26)
- ·使用Huagepage和PGO来提升PHP7的执行性能(2021-06-27)
- ·分享五个PHP7性能优化提升技巧(2021-06-29)
- ·谈谈 PHP7新增功能(2021-06-29)
- ·最新版本PHP 7 vs HHVM 多角度比较(2021-07-09)
- ·PHP7新功能总结(2021-11-17)
- ·php5.6.x到php7.0.x特性小结(2021-12-11)
- ·浅谈PHP5.6 与 PHP7.0 区别(2021-12-28)
- ·php5与php7的区别点总结(2021-12-31)
- ·php7性能提升的原因详解(2022-01-01)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)