php 三元运算符(?:),null合并运算符(??)的用法。
?: 三元运算符的简写形式
expr1 ?: expr3
在 expr1 求值为 true 时返回 expr1,否则返回 expr3。
<?php // 三元运算符简写的例子 $action = (!empty($_POST['action'])) ?: 'default'; // 以上等同于以下的 if/else 语句 if (empty($_POST['action'])) { $action = 'default'; } else { $action = $_POST['action']; }
?? NULL 合并运算符
当 expr1 为 null,表达式 (expr1) ?? (expr2) 等同于 expr2,否则为 expr1。
尤其要注意,当不存在左侧的值时,此运算符也和 isset() 一样不会产生警告。 对于 array 键尤其有用。
<?php // NULL 合并运算符的例子 $action = $_POST['action'] ?? 'default'; // 以上例子等同于于以下 if/else 语句 if (isset($_POST['action'])) { $action = $_POST['action']; } else { $action = 'default'; }