ホームページ > バックエンド開発 > PHPチュートリアル > 入れ子になった PHP 三項演算子が「city-4」のみを返すのはなぜですか?

入れ子になった PHP 三項演算子が「city-4」のみを返すのはなぜですか?

Linda Hamilton
リリース: 2024-12-16 19:04:14
オリジナル
131 人が閲覧しました

Why Does My Nested PHP Ternary Operator Return Only

PHP での三項演算子の入れ子: 無効な条件構造のトラブルシューティング

コードは、一連のネストされた三項演算子を使用して $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")))
);
ログイン後にコピー

括弧を使用した三項演算子の場合、評価は正しい優先順位に従い、$Myprovince 変数には $province の値に基づいて適切な値が割り当てられます。

以上が入れ子になった PHP 三項演算子が「city-4」のみを返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート