【问题标题】:How to produce the following sequence of numbers through a php for statement如何通过 php for 语句生成以下数字序列
【发布时间】:2014-12-06 15:43:38
【问题描述】:

我需要想办法通过双php for语句输出如下数列:

0 - 1    <-- begin
0 - 2
0 - 3
0 - 4
1 - 1   
1 - 2
1 - 3
1 - 4
2 - 2
2 - 3
2 - 4
3 - 3
3 - 4    <-- end

如何在每个循环之后进行第二个循环,丢失第一个数字,使序列看起来像上面的输出?

我一直在尝试这样的事情:

    for($z = 0; $z <= 3; $z++) {
        for($y = 0; $y <= 3; $y++) {

            echo $z . " - " . $y . "<br />";

        }
    }

但第二个循环总是从数字 1 开始。但我什至想不出办法。

【问题讨论】:

  • 到目前为止你尝试过什么?另外我在您的输出中没有看到太多逻辑?比如 4x0、4x1、3x2、2x3 ?

标签: php for-loop numbers sequence


【解决方案1】:
for ($x = 0; $x <= 3; $x++) {
  for ($y = 1; $y <= 4; $y++) {
    if ($y >= $x) {
      echo "$x - $y\n";
    }
  }
}  

【讨论】:

    【解决方案2】:

    使用嵌套循环,让嵌套循环从外部循环的迭代开始:

    for ($i = 0; $i < $max; $i++)
        for ($j = $i; $j < $max; $j++)
            echo "$i - $j";
    

    【讨论】:

    • 如果 $max=4 这将产生一个额外的“4 - 4”行
    • 我认为你需要$max - 1作为外循环的上限。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-22
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    相关资源
    最近更新 更多