使用巢狀三元運算子
在追求簡化條件語句時,您可能會遇到巢狀三元運算子的巢狀需要。但是,正如您的範例所示,實現這一點可能很棘手:
<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中文網其他相關文章!