0

我面临一个问题有人可以建议我吗

for ($i = 1; $i <= 2; $i++) {
  $r2 = 0;
  for ($t = 1; $t <= 2; $t++) {
    echo $r2;
    $r2++
  }
}

输出是0101

我可以得到输出0123???请

如果

for ($i = 1; $i <= 3; $i++) {
  $r2 = 0;
  for ($t = 1; $t <= 3; $t++) {
    echo $r2;
    $r2++
  }
}

输出是010101

可以输出012345678???请

而如果

 for ($i = 1; $i <= 4; $i++) {
   $r2 = 0;
   for ($t = 1; $t <= 4; $t++) {
     echo $r2;
     $r2++
   }
 }

输出是01010101

可以输出0123456789101112131415???请我想你明白

谢谢

4

4 回答 4

1

在所有这些情况下,您都在初始化 $r2=0; 在内循环中。它应该在循环之外。

$r2=0;
for($i=1;$i<=2;$i++){
  for($t=1;$t<=2;$t++){
    echo $r2;
    $r2++
  }
}

这将产生“1234”。

于 2012-07-12T21:32:36.937 回答
0

为什么要使用两个嵌套的 for 循环?为什么不只使用一个:

for ($i=0; $i<=15; $i++) echo $i . " ";
于 2012-07-12T21:29:45.197 回答
0

试试这个:

$r2 = 10;
for($t = 0; $t <= $r2; $t++){
   echo $r2;
}
于 2012-07-12T21:32:14.880 回答
0

哦等等..我现在明白了,为什么你有两个嵌套循环,你想基本上将一个数字提高到 2 的幂,以控制输出值的数量。在这种情况下,您想要的只是:

// this is the variable you need to change to affect the number of values outputed
$n = 2;

// Square $n
$m = $n * $n;

// Loop $m times
for ($i = 0; $i < $m; $i++) {
  echo $i;
}
于 2012-07-12T21:34:09.120 回答