废话不多说直接上代码
\'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\' ? \'免费\' : \'大牌好货\')),
其实很简单,就是把每个判断都用括号分开,就可以实现了。
这里记录一下这个坑