为什么嵌套三元运算符需要括号?

Barbara Streisand
发布: 2024-11-04 09:04:30
原创
623 人浏览过

Why Do I Need Parentheses for Nested Ternary Operators?

嵌套三元运算符:已解决的难题

在编程领域,嵌套三元运算符可以成为简洁条件语句的宝贵工具。然而,实施它们有时可能很棘手。用户最近遇到的一个挑战是以嵌套形式使用 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!