多个嵌套循环

时间:2016-05-09 09:36:05

标签: php loops

任何人都可以用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>";
}

2 个答案:

答案 0 :(得分:0)

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“&amp; nbsp”;

k = 5“&amp; nbsp”;

k = 4 //现在终止为k&gt; = i false

j = 1“*&a​​mp; nbsp”;

j = 2“*&amp; nbsp”;

j = 3“*&amp; nbsp”;

j = 4“*&amp; nbsp”;

j = 5“*&amp; nbsp”;

j = 6 //现在终止为j&lt; = i false

i = 4

等等......

答案 1 :(得分:0)

尝试自行调试流程:

主循环$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