📜  php??运算符 - PHP (1)

📅  最后修改于: 2023-12-03 15:33:39.897000             🧑  作者: Mango

PHP中的运算符:php??

在 PHP 7.0 中,引入了运算符 ??。这个运算符被称为null 合并运算符,它可以在 变量赋值 的时候用到。具体来说,它的作用是当左操作数为 null 或不存在时,返回右操作数,否则返回左操作数。

语法
$var = $a ?? $b;

上面的代码等同于:

if (isset($a)) {
    $var = $a;
} else {
    $var = $b;
}
实例
$name = $_GET['name'] ?? '未知用户';

上面代码中,如果 $_GET['name'] 存在,就将它赋值给 $name,否则将 $name 设为 '未知用户'。

另一个例子:

$cookie_val = $_COOKIE['key'] ?? $_POST['key'] ?? 'default';

上面的代码中,如果 $_COOKIE['key'] 存在,则将 $cookie_val 设为它。如果不存在,就检查 $_POST['key'] 是否存在。如果 $_POST['key'] 存在,则将 $cookie_val 设为它。否则将 $cookie_val 设为 'default'。

注意事项
  • 右侧操作数一定会被执行,即使左侧的操作数不为空。
  • ?? 运算符的优先级较低,需要用括号显式地指定优先级。
总结

php?? 运算符为我们提供了一种更简洁的方式来检查变量是否为 null 或不存在,并在此情况下进行默认赋值。

更多关于 php?? 运算符的详细内容,可以参考官方文档:Null Coalescing Operator - PHP Manual