PHP7中的?与??有什么区别

广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买

PHP7中的?与??有什么区别

本篇文章给大家介绍一下PHP7中的“?”与“??”的区别。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

$a = ''; // or 0 or false$b = $a ?? 'a';// 此时会判断$a是否存在 $a不为null // 等价于// $b = isset($a) ? $a : 'a';// $b is '' or 0 or false$c = $a ?: 'a';// 此时会判断$a的值// $c is 'a'
登录后复制
$a = null;$b = $a ?? 'a';// 此时$a为null// $b is  'a'$c = $a ?: 'a';// $c is 'a'
登录后复制
$a = null;$b = 'b';$c = $a ?? $b ?? 'c';// 返回第一个有定义的值// $c is 'b'$a = null;$b = null;$c = $a ?? $b ?? 'c';// $c is 'c'
登录后复制
function getId(?int $id) {    return $id;}// 参数为指定的整型或空值getId(857); // 857getId('857'); // 参数非整型 报错getId(); // 参数空 报错getId(''); // 参数非整型 报错getId(0); // 0getId(null); // null
登录后复制
function getId():?int{return 1;}// 返回值为指定的整型或空值getId() // 1function getId():?int{return null;}getId() // nullfunction getId():?int{return '1';}getId() // 返回非整型 报错
登录后复制

推荐学习:php视频教程

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

广告:SSL证书一年128.66元起,点击购买~~~

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。

作者头像
admin创始人

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

上一篇:vue如何改后台
下一篇:laravel如何写软连接

发表评论

关闭广告
关闭广告