使用嵌套三元运算符
在追求简化条件语句时,您可能会遇到嵌套三元运算符的需要。但是,正如您的示例所示,实现这一点可能很棘手:
<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中文网其他相关文章!