??是null合并运算符
<?php // NULL 合并运算符的例子 $action = $_POST['action'] ?? 'default'; // 以上例子等同于于以下 if/else 语句 if (isset($_POST['action'])) { $action = $_POST['action']; } else { $action = 'default'; }
如果针对没有定义的,用上面那种
?:是三元运算符
如果针对已经定义了,但是想使用empty判断的情况可以使用 ?:
$c = $a ?: 1;var_dump($c);
这样会报 undefined