ホームページ >バックエンド開発 >PHPチュートリアル >PHP で三項演算子をネストするときのエラーを回避するにはどうすればよいですか?

PHP で三項演算子をネストするときのエラーを回避するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-16 15:08:14659ブラウズ

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

PHP のネストされた三項演算子: 落とし穴と解決策

PHP では、三項演算子は、条件付きで値を割り当てるための簡潔で洗練された方法を提供します。これらは強力なツールですが、予期しない結果を避けるために正しく使用することが重要です。

次のコードに示すように、複数の三項演算子をネストするときに 1 つの一般的な問題が発生します。

$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")))
);

この変更により、三項演算子は適切にネストされ、$province が 7 に等しいため、コードは "city-2" を $Myprovince に正しく割り当てます。

以上がPHP で三項演算子をネストするときのエラーを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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