ホームページ  >  記事  >  バックエンド開発  >  入れ子になった三項演算子に括弧が必要なのはなぜですか?

入れ子になった三項演算子に括弧が必要なのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-04 09:04:30624ブラウズ

Why Do I Need Parentheses for Nested Ternary Operators?

ネストされた三項演算子: パズルは解決されました

プログラミングの領域では、ネストされた三項演算子は、簡潔な条件文を作成するための貴重なツールとなります。ただし、それらを実装するのは難しい場合があります。ユーザーが最近遭遇した課題の 1 つは、ネストされた形式で isset() を利用することでした。

isset($_POST['selectedTemplate'])?$_POST['selectedTemplate']:isset($_GET['selectedTemplate'])?$_GET['selectedTemplate']:0

ユーザーはこの式の問題に直面し、プログラミング コミュニティに支援を求めました。浮かび上がった解決策を詳しく見てみましょう:

ネストされた三項演算子が正しく機能するには、それらを括弧で囲む必要があります。これにより、式が意図した順序で評価されることが保証されます。修正されたコードは次のとおりです。

$selectedTemplate = isset($_POST['selectedTemplate'])
                  ? $_POST['selectedTemplate']
                  : (
                       isset($_GET['selectedTemplate'])
                       ? $_GET['selectedTemplate']
                       : 0
                  );

ただし、保守性と明確性を向上させるには、if/else ステートメントを使用することをお勧めします。

$selectTemplate = 0;

if (isset($_POST['selectedTemplate'])) {
    $selectTemplate = $_POST['selectedTemplate'];
} elseif (isset($_GET['selectedTemplate'])) {
    $selectTemplate = $_GET['selectedTemplate'];
}

最後に、単純さと簡単さのために、 $_REQUEST:

$selectedTemplate = isset($_REQUEST['selectedTemplate'])
                  ? $_REQUEST['selectedTemplate']
                  : 0;

最終的にはアプローチの選択を忘れないでください。アプリケーションの特定の要件によって異なります。コーディングを楽しんでください。三項が完璧にネストされますように!

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

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