这是 '??'是 php 中的运算符还是它的名字?它也用于 empty() 或 isset() 检查吗?

Is this '??' is a operator in php or what it's called? Also is it used for empty() or isset() check?

$name = $username ?? '';

我真的不知道这个 ?? 叫什么?

??是空合并假设

$x = expr1 ?? expr2

Returns$x.The的值$x的值如果expr1存在则为expr1,且不为NULL。 如果expr1不存在,或者为NULL,则$x的值为expr2.Null coalescing 在PHP 7.

中引入

其他例子

<?php
   // variable $user is the value of $_GET['user']
   // and 'anonymous' if it does not exist
   echo $user = $_GET["user"] ?? "anonymous";
   echo("<br>");
  
   // variable $color is "red" if $color does not exist or is null
   echo $color = $color ?? "red";
?>