14

我的问题:我想在 for 循环中计算逆数。

这与我想做的相反:

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

如果我把$i--不起作用(我的服务器崩溃)。

帮帮忙!

最好的问候,亚当

4

4 回答 4

36

当您说$i--您的服务器崩溃时,您是否更改了初始化和条件$i

for($i=10; $i>=1; $i--){
    echo $i;
}
于 2010-07-02T16:49:17.757 回答
10

如果您for按照您所写的方式使用 并替换$i++为,则每次迭代(1、0、-1、-2 等)$i--的值都会递减,并且循环条件始终为真。$i$i<=10

如果要倒数,还需要更改其他部分(初始化和循环条件):

for ($i=10; $i>=1; $i--){
    echo $i;
}

或者你取最后一个并从中减去当前值并将第一个值添加到其中:

for ($first=1, $i=$first, $last=10; $i<=$last; $i++){
    echo $last - $i + $first;
}
于 2010-07-02T16:49:49.730 回答
4

我不明白,只是在做

for($i=10;$i>=1;$i--){
    echo $i;
}

是不足够的?

于 2010-07-02T16:51:06.497 回答
1

来自PHP 手册

for (expr1; expr2; expr3) 语句

第一个表达式 (expr1) 在循环开始时无条件地计算(执行)一次。

在每次迭代开始时,都会计算 expr2。如果计算结果为 TRUE,则循环继续并执行嵌套语句。如果计算结果为 FALSE,则循环的执行结束。

在每次迭代结束时,都会评估(执行)expr3。

于 2010-07-02T16:51:26.280 回答