Graent.Hu 的博客

新浪微薄腾讯微薄

最新碎语:最近感觉有些迷茫,怎么办~

您的位置:Graent.Hu 的博客 >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

从上面的结果可以看出?? 等同于 isset($condition) ? true : false

所以想用??判断一个赋值为0的变量的时候要小心了,结果可能和想象中的不一样

我的微信:graent_hu

欢迎扫码加我的微信好友,有什么问题我们可以一起探讨,有什么需要也随时欢迎发消息给我~

转载请注明出处:

本文标题:php7中 ?? 和三元运算符 ? : 的区别

本文链接:https://www.wlyc.cn/post-77.html

分享到:

发表评论

路人甲 表情
看不清楚?点图切换