版权声明:本文为Cam少爷原创,未经允许不得转载。 https://blog.csdn.net/sinat_37212928/article/details/82589284
php7新增一个运算符??
,不知道大家平时是在什么时候用它,但是我一直用它代替以前的三元运算符? :
,今天偶然发现,它和三元运算符是不一样的
$a = 0;
$b = $a > 0 ? $a : 1;
$c = $a ? $a : 2;
$d = $a ?: 3;
$f = $a ?? 3;
var_dump($b); // int 1
var_dump($c); // int 2
var_dump($d); // int 3
var_dump($f); // int 0
var_dump(isset($a)); // boolean true
> 从上面的结果可以看出 $a = $var ?? $temp
的意思是 $a = isset($var) ? $var : $temp
所以想用??
判断一个赋值为0
的变量的时候要小心了,结果可能和想象中的不一样