首页 >后端开发 >php教程 >在 PHP 中嵌套三元运算符时如何避免错误?

在 PHP 中嵌套三元运算符时如何避免错误?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-16 15:08:14654浏览

How Can I Avoid Errors When Nesting Ternary Operators in PHP?

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn