多个嵌套循环


Multiple nested loop

有人能用php中的一些合适的例子来解释多个嵌套循环的工作吗?事实上,我知道另一个循环中的循环是如何工作的,但我不知道另一循环中的环路是如何工作。例如,我试图理解下面给出的代码,但无法理解它的工作原理。

<?php
for($i=5;$i>=1;$i--){
  for($k=6;$k>=$i;$k--){
    echo " &nbsp;";
  }
  for($j=1;$j<=$i;$j++){
    echo "* &nbsp;";
  }
  echo "<br>";
}

尝试自己调试流:

主循环$i将循环5次(5比1)。对于每个$i,内部第一循环$k将根据条件循环不同的时间,并且对于下一循环也是如此。检查结果并自行调试。

for($i = 5; $i >= 1; $i--){
    echo '$i with $k Started:<br/>';
    for($k = 6; $k >= $i; $k--){
        echo $i." - ".$k."<br/>";
    }
    echo '<br/><br/>';
    echo '$i with $j Started:<br/>';
    for($j = 1; $j <= $i; $j++){
        echo $i." - ".$j."<br/>";
    }
    echo "<br/>";
}

结果:

$i with $k Started:
5 - 6
5 - 5

$i with $j Started:
5 - 1
5 - 2
5 - 3
5 - 4
5 - 5
$i with $k Started:
4 - 6
4 - 5
4 - 4

$i with $j Started:
4 - 1
4 - 2
4 - 3
4 - 4
$i with $k Started:
3 - 6
3 - 5
3 - 4
3 - 3

$i with $j Started:
3 - 1
3 - 2
3 - 3
$i with $k Started:
2 - 6
2 - 5
2 - 4
2 - 3
2 - 2

$i with $j Started:
2 - 1
2 - 2
$i with $k Started:
1 - 6
1 - 5
1 - 4
1 - 3
1 - 2
1 - 1

$i with $j Started:
1 - 1
for($i=5;$i>=1;$i--){ // means this loop will start from i=5 and run till i >= 1
  for($k=6;$k>=$i;$k--){ // now this loop will starts from 6 and run till k > i ex. in first loop k will run for k=6 and k=5
    echo " &nbsp;";
  }
  for($j=1;$j<=$i;$j++){ // this loop will starts from 1 and run till j <= i value
    echo "* &nbsp;";
  }
  echo "<br>";
}

输出:

i=5

k=6"&nbsp";

k=5"&nbsp";

k=4//现在终止为k>=i错误

j=1"*&nbsp";

j=2"*&nbsp";

j=3"*&nbsp";

j=4"*&nbsp";

j=5"*&nbsp";

j=6//现在终止为j<=i错误

i=4

等等。。。。。