AI智能
改变未来

PHP多个三目运算符的坑

废话不多说直接上代码

\'source\' => $item[\'source\'] === \'self\' ? \'自建\' : $item[\'source\'] === \'erp\' ? \'精选\' : $item[\'source\'] === \'free\' ? \'免费\' : \'大牌好货\',

有一天看到项目里面的代码,这样写的。多个三目运算符一起限定。项目一直在线上运行其实也没问题,但是有一次自己搭环境的时候发现当

source不管什么时候

只有

免费和大牌好货

,然后也不报错,自己都愣了,各种断点发现没错啊,数据也没问题。然后仔细找才发现,这种多个连续的写法在

php7.4

以后才有的。小于

7.4

版本是无法识别的。最后只能改成

\'source\' => $item[\'source\'] === \'self\' ? \'自建\' : ($item[\'source\'] === \'erp\' ? \'精选\' : ($item[\'source\'] === \'free\' ? \'免费\' : \'大牌好货\')),

其实很简单,就是把每个判断都用括号分开,就可以实现了。
这里记录一下这个坑

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » PHP多个三目运算符的坑