?? 只判断 null,不判断 false、0、空字符串等,只有当$a为null才认为是假值
false
0
空字符串
$value = $a ?? 'default'; 等价于 $value = isset($a) ? $a : 'default';
?:的判断条件更宽,$a为false、0、''、[]、null 等都会被认为是假值
''
[]
null
$value = $a ?: 'default'; 等价于: $value = $a ? $a : 'default';
© 著作权归作者所有