简单的PHP循环错误


Simple PHP for loop error

刚开始学习。这是我所拥有的:

<?php 
$i = 0;
$num = $i * 12;
for ($i=0; $i<13; $i++) {
echo($i." times 12 = ".$num."<br>");
}
?>

结果应该是

1 times 12 = 12
2 times 12 = 24
3 times 12 = 36

等。。。

我实际得到的结果是:

1 times 12 = 0
2 times 12 = 0
3 times 12 = 0

有什么想法吗?

这是因为您在 for 循环之前有以下声明:

$i = 0; $num = $i * 12;

所以总是$num0.只需将其放入:

for ($i=1; $i<13; $i++) {
   $num = $i*12;
   echo($i." times 12 = ".$num."<br>");
}

在 for 循环之前不需要声明$i变量。此变量将被覆盖。有一个简单的测试:

$i = 5;
for($i = 1; $i<10; $i++);
echo $i;

输出

10
<?php 
$i = 1; $num = 1;
for ($i=1; $i<13; $i++) {
 $num = $i * 12;
echo($i." times 12 = ".$num."<br>");
}
?>

如果你想要这个结果,你应该把计算放在for循环中,从 1 开始i

<?php 
for ($i=1; $i<13; $i++) {
    $num = $i * 12;
    echo($i." times 12 = ".$num."<br>");
    }
?>

像这样的东西

<?php
$num = 12;
for ($i=1; $i<13; $i++) {
    echo("$i times 12 = ".$num*$i);
    echo "<br>";
}
?>
<?php 
for ($i=0; $i<13; $i++) {
    echo($i." times 12 = ".$i*12."<br>");
    }
?>

$num = $i * 12;转换为循环

<?php 
$i = 0;
for ($i=0; $i<13; $i++) {
    $num = $i * 12;
    echo($i." times 12 = ".$num."<br>");
}
?>

您的$num变量仅在 0 时$i递增,请尝试将其放入 for 循环中,如下所示。

$i = 0;

for ($i=0; $i<13; $i++) {
    $num = $i * 12;
    echo($i." times 12 = ".$num."<br>");
    }