php 三元表达式??与?: 区别
代码】php 三元表达式??与?: 区别。
·
1.三元表达式
$arr = ['test' => '','test2' => 'something'];
var_dump($arr['test'] ?? 'nothing');//string(0) ""
var_dump($arr['test'] ?: 'nothing');//string(7) "nothing"
var_dump($arr['test2'] ?? 'nothing');//string(9) "something"
var_dump($arr['test2'] ?: 'nothing');//string(9) "something"
var_dump($arr['test3'] ?? 'nothing');//string(7) "nothing"
var_dump($arr['test3'] ?: 'nothing');//string(7) "nothing"
总结:
双问号(??): 相当于 isset($x) ? $x : 'nothing'; //变量存在即可 不考虑变量值的情况
问冒号(?:): 相当于 if($x) ? $x : 'nothing'; //变量已存在且变量的值是真
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)