$a ?? 0 等同于 isset($a) ? $a : 0。

通过 isset 判断一个变量是否设置,值为 false、00、0、’0′  ,也会返回 true。

 

$a ?: 0 等同于 $a ? $a : 0。

通过 empty 判断一个变量是否为空,null、false、00、0、’0′ ,都会返回 true。