使用三元和冒号进行循环

时间:2017-04-23 11:26:55

标签: php

这是来自php的教程,我无法理解三元的使用?并使用冒号: 能否请你在这里向我解释结肠的使用谢谢 我试着阅读教程和php参考,但无法理解

此代码将打印侧面金字塔

 for ($row = 1; $row <= 5; $row++)
  {
      for ($col = 1; $col <= ($row > 3 ? 6 - $row : $row); $col++)
      {
          echo '*';
      }

      echo "<br>";
  }

2 个答案:

答案 0 :(得分:1)

这与以下代码相同:

for ($row = 1; $row <= 5; $row++)
{
    if ($row > 3)
        $max = 6 - $%row;
    else 
        $max = $row;

    for ($col = 1; $col <= $max; $col++)
    {
        echo '*';
    }

    echo "<br>";
}

冒号是三元运算符的一部分:

A ? B : C

等于

if (A) then B else C

有关详细信息,请查看ternary (?:) operator上的文档。

答案 1 :(得分:0)

三元如果:

/* most basic usage */
$var = 5;
$var_is_greater_than_two = ($var > 2 ? true : false); // returns tru

使编码简单,如果/ else逻辑更快 您可以使用输出内联if / else逻辑,而不是破坏if / else语句的输出构建 使代码更短 使维护代码更快,更容易

阅读以下文章了解更多示例:

https://davidwalsh.name/php-shorthand-if-else-ternary-operators