php7里面三元运算符 两个问号和问号冒号有什么区别
请问:php7中 ?? 和三元运算符 ? : 有什么区别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的变量,结果可能和想象中的不一样