PHP 7.0引进了空合并运算符??,空值合并运算符,英文名叫the null coalescing operator,符号为两个英文问号写作??,语法形如 $a = $b ?? $c; 意思是如果变量 $b 已经定义,并且没有被注销删除,并且不为null, 就将 $b 的值赋给变量 $a, 否则将变量 $c 的值赋给变量 $a.
$a = $b ?? $c; 相当三元运算的 $a = isSet($b) ? $b : $c;
或者条件结构运算- if( isSet($b) ){
- $a = $b;
- } else {
- $a = $c;
- }
复制代码 注意:PHP null合并运算符??前面的变量不存在时不会报错,但如果??后面的变量不存在,则会触发E_NOTICE级别的错误。PHP可空合并运算符的“空”特指null,不是其他能够让empty()返回true的false, '', array()等变量值。如果一个变量$v被赋值为null, isSet($v)返回false, 所以上例不需要判断$b和null的关系。 |
|