ホームページ >バックエンド開発 >PHPチュートリアル >PHP のネストされた三項演算子が予期しない結果を返すのはなぜですか?

PHP のネストされた三項演算子が予期しない結果を返すのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-28 21:02:18413ブラウズ

Why Are My Nested Ternary Operators in PHP Returning Unexpected Results?

条件付き代入のための 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。