PHP:如何通过-2从100循环到0,而不让它无限循环?

时间:2018-10-16 21:43:32

标签: php loops

我要在这里实现的目标是能够从0循环到100(100、98、96、94 ...),但必须在0处停止。现在要做的是传递0和- 2 -4使服务器崩溃。我究竟做错了什么?

 for ($i = 100; $i <= 100; $i--){
    echo $i--; 
    echo "<br>";
  }

4 个答案:

答案 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一年了;循环仍然让我感到困惑