??是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
![](https://i-blog.csdnimg.cn/blog_migrate/cca88c61a5bc46a29c1913ab7e5567ea.png)