ホームページ >バックエンド開発 >PHPチュートリアル >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」が返されます。
ネストされた三項演算子を正しく使用するには、各三項演算子をかっこで囲む必要があります。正しいコードは次のようになります。
$province = 7; $Myprovince = (($province == 6) ? "city-1" : ((($province == 7) ? "city-2" : ((($province == 8) ? "city-3" : ((($province == 30) ? "city-4" : "out of borders"))))));
このように三項演算子をネストすることにより、コードは条件を正しい順序で評価し、$province の値に基づいて適切な都市名を割り当てます。
以上がPHP のネストされた三項演算子が予期しない結果を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。