PHP 中的嵌套三元运算符:已解决的难题
嵌套三元运算符提供了一种简洁而强大的方法来在 PHP 中进行条件赋值。然而,当使用多个运算符时,正确的语法变得至关重要。
问题
考虑以下代码:
$province = 7; $Myprovince = ( ($province == 6) ? "city-1" : ($province == 7) ? "city-2" : ($province == 8) ? "city-3" : ($province == 30) ? "city-4" : "out of borders" );
尽管打算根据省份值选择一个城市,代码将“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"))) );
工作原理
最里面的三元运算符评估条件 ($province == 8) 并分配“city” -3" 如果 true 或继续下一个运算符如果 false。
中间的三元运算符检查是否$province 等于 7,如果为 true,则分配“city-2”,否则继续执行下一个运算符。
最后,最外面的三元运算符评估条件 ($province == 6) 并分配“city-1” " 如果为 true 或继续执行其余选项,如果 $province 为 30,则最终分配“city-4”,否则分配“out of border”。
以上是如何在 PHP 中正确实现嵌套三元运算符以避免意外结果?的详细内容。更多信息请关注PHP中文网其他相关文章!