ホームページ >バックエンド開発 >PHPチュートリアル >効率的な条件付きロジックのために入れ子になった三項演算子を構造化するには?
ネストされた三項演算子の使用
条件文を効率化するために、三項演算子をネストする必要が生じる場合があります。ただし、例が示すように、これを達成するのは難しい場合があります:
<code class="php">isset($_POST['selectedTemplate'])?$_POST['selectedTemplate']:isset($_GET['selectedTemplate'])?$_GET['selectedTemplate']:0</code>
これを修正するには、式全体を括弧で囲むことが重要です:
<code class="php">$selectedTemplate = isset($_POST['selectedTemplate']) ? $_POST['selectedTemplate'] : ( isset($_GET['selectedTemplate']) ? $_GET['selectedTemplate'] : 0 );</code>
あるいは、改善するには可読性とメンテナンス性を考慮して、if/else ステートメントの利用を検討してください:
<code class="php">$selectedTemplate = 0; if (isset($_POST['selectedTemplate'])) { $selectedTemplate = $_POST['selectedTemplate']; } elseif (isset($_GET['selectedTemplate'])) { $selectedTemplate = $_GET['selectedTemplate']; }</code>
ただし、簡素化と POST メソッドと GET メソッドの両方との互換性を考慮すると、次の解決策の方が適切である可能性があります:
<code class="php">$selectedTemplate = isset($_REQUEST['selectedTemplate']) ? $_REQUEST['selectedTemplate'] : 0;</code>
以上が効率的な条件付きロジックのために入れ子になった三項演算子を構造化するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。