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 サイトの他の関連記事を参照してください。