while循环在另一个while循环中只运行一次

时间:2014-09-14 00:13:10

标签: php while-loop nested-loops

嗨,我对于stackoverflow社区的编码和全新都很陌生,所以请耐心等待。

我正在尝试创建一个代码来创建以下输出:

A0

b0 b1 b2 a1

b0 b1 b2 a2

b0 b1 b2

使用此代码:

    <?php
    $count1 = 0;
    $count2 = 0;
    while ($count1 < 3){
       echo "a".$count1."<br>";
       while ($count2 < 3){
          echo "b".$count2." ";
          $count2 ++;
          }
       $count1++;
       } 
    ?>

我的问题是嵌套的while循环只运行一次并给我:

A0

b0 b1 b2 a1

A2

我想要的输出可能是通过使用for循环或其他方法来实现的,但我很好奇为什么这不起作用。它也是应该通过数据库查询运行的代码的早期阶段,我只看到了while循环的例子。

谢谢它的推进。

3 个答案:

答案 0 :(得分:3)

您需要重置计数器。您不需要在while之外定义变量,只需在第一个变量中定义。

$count1 = 0;
while ($count1 < 3){
    echo "a".$count1."<br>";
    $count2 = 0;
    while ($count2 < 3){
        echo "b".$count2." ";
        $count2 ++;
    }
    $count1++;
}

答案 1 :(得分:1)

每次循环count2时,您需要重置count1

像这样:

<?php
$count1 = 0;
$count2 = 0;
while ($count1 < 3){
    echo "a".$count1."<br>";
    while ($count2 < 3){
        echo "b".$count2." ";
        $count2 ++;
    }
    $count2 = 0;
    $count1++;
}
?>

您还可以执行for循环。

for ($count1 = 0; $count1 < 3; $count1 ++) {
    echo "a".$count1."<br>";
    for ($count2 = 0; $count2 < 3; $count2 ++) {
        echo "b".$count2." ";
    }
}

答案 2 :(得分:1)

你需要&#34;重置&#34;每次外部循环运行之间$ count2的值。注意$ count2 = 0:

<?php
$count1 = 0;
$count2 = 0;
while ($count1 < 3){
   echo "a".$count1."<br>";
   while ($count2 < 3){
      echo "b".$count2." ";
      $count2 ++;
      }
   $count1++;
   $count2 = 0;
   } 
?>