找回密码
 新建账号

[PHP] 空合并运算符?? php7 null coalescing operator

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

手机版|轻松E站

GMT+8, 2024/12/22 01:08

快速回复 返回顶部 返回列表