如何在php中使用for循环计算逆数?

14

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

这与我想要做的相反:

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

如果我写 $i-- ,程序就崩溃了。

请帮我解决这个问题!

谢谢!
Adam


1
如果它导致服务器崩溃...那么一定出了很大的问题。或者这是“崩溃”这个词被过度使用的其中一种情况吗? - Artefacto
@ Artefacto:他的意思是“PHP脚本永远不会返回,并且CPU负载增加”。这种情况发生在编写无限循环时。 - Tomalak
它崩溃了,因为我开始了一个无限循环:P @thetaiko已经为我解决了。感谢您的帮助! - Adam Halasz
4个回答

36
当您说$i--导致服务器崩溃时,您是否更改了$i的初始化和条件?
for($i=10; $i>=1; $i--){
    echo $i;
}

1
哦,我太蠢了,是的,我改过了,但不是这个方式。它现在可用了,谢谢!:D - Adam Halasz

10
如果你按照你写的方法,只需将$i++ 替换为 $i--,那么每次迭代时$i的值都会递减(1,0,-1,-2等),而循环条件$i<=10始终为真。
如果你想要倒数计数,还需要改变其他部分(初始化和循环条件):
for ($i=10; $i>=1; $i--){
    echo $i;
}

或者你可以拿最后一个值减去当前值并加上第一个值:

for ($first=1, $i=$first, $last=10; $i<=$last; $i++){
    echo $last - $i + $first;
}

4

我不明白,只是在执行操作。

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

"不够?"

1

来自PHP手册

for (expr1; expr2; expr3) statement

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

在每次迭代的开始,将评估expr2。如果它评估为TRUE,则继续循环并执行嵌套的语句。如果它评估为FALSE,则循环的执行结束。

在每次迭代的结尾,将评估(执行)expr3。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接