一尘不染

在PHP中堆叠多个三元运算符

php

这是我写的:

 $Myprovince = (
($province == 6) ? "city-1" :
($province == 7) ? "city-2" :
($province == 8) ? "city-3" :
($province == 30) ? "city-4" : "out of borders"
);

但是对于每个领域我都有价值city-4。我想使用三元运算符,而不是switch/if因为我想尝试一下,看看它会如何完成。

此代码有什么问题?


阅读 597

收藏
2020-05-29

共1个答案

一尘不染

其他人已经提出了正确的方法,但是如果您真的想使用三元运算符,则需要使用括号:

$province = 7;
 $Myprovince = (
 ($province == 6) ? "city-1" :
  (($province == 7) ? "city-2" :
   (($province == 8) ? "city-3" :
    (($province == 30) ? "city-4" : "out of borders")))
 );
2020-05-29