当前位置:编程学习 > php >>

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的变量,结果可能和想象中的不一样

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,