??和?:

?? 只判断 null,不判断 false0空字符串等,只有当$a为null才认为是假值

$value = $a ?? 'default';

等价于

$value = isset($a) ? $a : 'default';


?:的判断条件更宽,$a为false0''[]null 等都会被认为是假值

$value = $a ?: 'default';

等价于:

$value = $a ? $a : 'default';
举报

© 著作权归作者所有


1