彻底搞懂 PHP 运算符 ?: 和 ??
快速掌握
?: 短三元运算符
?: 称之为短三元运算符,它是我们熟悉的三元运算符(也叫做条件运算符)的一种特殊写法,也就是省略了三元运算符中间的部分。
-
复习一下三元表达式的语法:
(expr1) ? (expr2) : (expr3)
在 expr1 求值为 true 时的值为 expr2,在 expr1 求值为 false 时的值为 expr3。$action = 'default';} else { $action = $_POST['action'];}?>
-
省略三元运算符中间部分的语法:
expr1 ?: expr3
如果 expr1 求值为 true 时返回 expr1 的结果,否则返回 expr3(expr1 在这里仅执行一次)。
?? NULL 合并运算符
?? 语法:(expr1) ?? (expr2)
当 expr1 为 null,表达式 (expr1) ?? (expr2) 等同于 expr2,否则为 expr1。
下面是设置默认值的示例:
$action = $_POST['action'];} else { $action = 'default';}?>
-
null 合并运算符的优先级较低。
这意味着如果将它与其它运算符(比如字符串链接或者算术运算符)混合使用,可能需要括号。请看下面的示例: -
嵌套 NULL 合并运算符的示例:
附上官方文档查阅方式
- 在线文档链接
php.net 比较运算符,打开网页后Ctrl+F
搜索 ?: 或者 ?? - 离线文档
依次打开目录节点:目录 -> PHP 手册 -> 语言参考 -> 运算符 -> 比较运算符,同样Ctrl+F
搜索 ?: 或者 ??
来源地址:https://blog.csdn.net/assokoo123/article/details/132572104
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341