我要在这里实现的目标是能够从0循环到100(100、98、96、94 ...),但必须在0处停止。现在要做的是传递0和- 2 -4使服务器崩溃。我究竟做错了什么?
for ($i = 100; $i <= 100; $i--){
echo $i--;
echo "<br>";
}
答案 0 :(得分:2)
for循环中的第三个参数是将在循环结束时执行的参数。所以:
for ($i = 100; $i >= 0; $i -= 2){
echo "$i<br>";
}
会成功的
如您在这里阅读的the WPF channel on chat
在每次迭代结束时,都会评估(执行)expr3。
答案 1 :(得分:2)
也许有些解释会有用。
for循环$i <= 100
的中间部分是使其无限的原因。在循环的每次迭代之前都会检查该表达式,只要该表达式的值为真,循环将继续进行。
由于您在循环的第一部分中将$i
设置为100,并且除了使其变小之外,您什么也没有做,因此它永远永远是<= 100。
如果您更改延续条件,则循环将按照您编写循环的方式正常工作。
for ($i = 100; $i >= 0; $i--){
echo $i--;
echo "<br>";
}
这样,它将继续直到$i
减小到小于零,然后$i >= 0
将为false,并且循环将结束。
答案 2 :(得分:1)
或者:
<?php
foreach(range(100, 0, -2) as $n) {
echo $n;
}
答案 3 :(得分:0)
for ($i = 100; $i >= 0; $i-=1){
echo $i--;
echo "<br>";
}
我想通了。已经学习JavaScript一年了;循环仍然让我感到困惑