【问题标题】:what does ? sign in this statement? [duplicate]什么?签署这份声明? [复制]
【发布时间】:2011-01-13 15:34:51
【问题描述】:

可能的重复:
quick php syntax question
Reference - What does this symbol mean in PHP?

$row_color = ($row_count % 2) ? $color1 : $color2;

【问题讨论】:

标签: php


【解决方案1】:

这称为Ternary 运算符。基本上它是检查row_count 是否为奇数然后将row_color 分配给color1color2

【讨论】:

  • 它正在检查它是否奇怪。如果$row_count22 % 2 0(因为没有余数)。所以$color1 如果是奇数,$color2 如果是偶数...
  • @ircmaxell,你是对的。会解决的
【解决方案2】:

是扩展的 IF 语法

等于

if ($row_count % 2)
  $row_color = $color1;
else
  $row_color = $color2;

【讨论】:

    【解决方案3】:

    【讨论】:

      【解决方案4】:

      这是一个三元运算符。根据PHP manual

      表达式 (expr1) ? (expr2) : (expr3) 如果 expr1 则计算为 expr2 计算结果为 TRUE,如果 expr1 则为 expr3 计算结果为 FALSE。

      换句话说:

      $variable = (IF THIS EVALUTES TO TRUE) ? (ASSIGN THIS) : (IF NOT, ASSIGN THIS);
      

      【讨论】:

        【解决方案5】:

        这被称为Ternary operation

        它是以下代码的简写形式:

        if($row_count % 2) {
           $row_color = $color1;
        }
        else {
           $row_color = $color2;
        }
        

        这是您的原始代码,带有 cmets:

        $row_color = ($row_count % 2) ? // Performs logical expression.
            $color1                     // If logic is true set original variable to this
            : $color2;                  // Else set original variable to this.
        

        PHP关于三元运算的文档:http://php.net/manual/en/language.operators.php

        【讨论】:

          【解决方案6】:

          这是一个条件 IF 语句。如果行数是偶数,则显示一种颜色,如果是奇数,则显示另一种颜色。

          他们正在设置交替的行颜色。

          问号和冒号使它成为 IF。

          条件出现在问号之前(行数为偶数)。

          问号后面的第一项是“then”,即条件为真时怎么办。

          冒号后面的项目是“else”,即条件不成立怎么办。

          很多人喜欢这种语法,因为它简洁。但是,正如您所发现的,当您第一次遇到它时,它确实是一个难题,而且 Google 很难做到。

          【讨论】:

            【解决方案7】:

            它被称为三元运算符。可以在此处找到描述:http://php.net/manual/en/language.operators.php

            【讨论】:

              猜你喜欢
              • 2019-05-25
              • 2016-05-08
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2020-07-22
              • 1970-01-01
              • 1970-01-01
              • 2015-12-22
              相关资源
              最近更新 更多