当前位置: 首页 > 面试题库 >

使用嵌套三元运算符

司迪
2023-03-14
问题内容

我一直在尝试使用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是动态类型的,并将任何非零,非空值都视为TRUE。

  • 问题内容: 我想将以下内容转换为运算符。 我写得像下面。 但是发现它不能正常工作,这不是正确的方法吗? 问题答案: 在PHP中,三元运算符是棘手的事情,因为它们是左关联的(不同于所有其他语言都是右关联的)。在这种情况下,您将需要使用括号告诉PHP您到底想要什么:

  • 模板可以支持三元运算符,如: {$status?'发布':'下线'} {$vo.status?'发布':'下线'} {$vo['status']?'发布':'下线'} 支持条件判断表达式: {$a==$b ? 'yes' : 'no'} 条件运算符可以是==、===、!=、!==、>=、<=

  • 请参考:http://www.kancloud.cn/manual/thinkphp/1802

  • 模板可以支持三元运算符,如: {$status?'发布':'下线'} {$vo.status?'发布':'下线'} {$vo['status']?'发布':'下线'} 支持条件判断表达式: {$a==$b ? 'yes' : 'no'} 条件运算符可以是==、===、!=、!==、>=、<=

  • 条件(三元)运算符是 JavaScript 仅有的使用三个操作数的运算符。一个条件后面会跟一个问号(?),如果条件为 truthy ,则问号后面的表达式A将会执行;表达式A后面跟着一个冒号(:),如果条件为 falsy ,则冒号后面的表达式B将会执行。本运算符经常作为 if 语句的简捷形式来使用。(MDN) 三元运算符,也称条件运算符、三目运算符。 三元运算符可以代替简单的 if 语句。 1. 语