PHP7引入的“--” 和“--”有什么区别

广告:宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取~~~

PHP7引入的“--”  和“--”有什么区别

本篇文章给大家介绍一下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 11PHP Notice:  Undefined index: d in /home/fanyu/abc.php on line 14array(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)。

推荐学习:php视频教程

以上就是PHP7引入的“??” 和“?:”有什么区别的详细内容,更多请关注9543建站博客其它相关文章!

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。
作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:Vue跳转不返回
下一篇:浅析laravel中limit()方法的使用方法

发表评论

关闭广告
关闭广告