PHP 中的嵌套三元运算符:陷阱和解决方案
在 PHP 中,三元运算符提供了一种简洁而优雅的方式来有条件地赋值。虽然它们是一个强大的工具,但正确使用它们以避免意外结果至关重要。
嵌套多个三元运算符时会出现一个常见问题,如以下代码所示:
$province = 7; $Myprovince = ( ($province == 6) ? "city-1" : ($province == 7) ? "city-2" : ($province == 8) ? "city-3" : ($province == 30) ? "city-4" : "out of borders" );
执行后,无论 $province 的值如何,此代码都会错误地将“city-4”分配给 $Myprovince。问题在于三元运算符的嵌套没有正确分组。
要解决此问题,需要使用括号来确保三元运算符按正确的顺序求值。更正后的代码如下:
$province = 7; $Myprovince = ( ($province == 6) ? "city-1" : (($province == 7) ? "city-2" : (($province == 8) ? "city-3" : (($province == 30) ? "city-4" : "out of borders"))) );
通过此修改,三元运算符可以正确嵌套,并且代码可以正确地将“city-2”分配给 $Myprovince,因为 $province 等于 7。
以上是在 PHP 中嵌套三元运算符时如何避免错误?的详细内容。更多信息请关注PHP中文网其他相关文章!