我哪里可能在 for 循环中搞砸


Where could I possibly be messing up in a for loop?

这是我正在做的事情(php)

<?php
for($i = 0; $i <= 30; $i+2)
{
  echo $i;
}
?>

它让我发疯,因为它不起作用[不打印任何内容,浏览器不断尝试加载]。但是如果我$i+2更改为 $i++ ,它有效,如果我将其更改为 $i+1 ,那也不起作用。

我失去了理智。出了什么问题?

它让我发疯,因为它不起作用[不打印任何内容,浏览器不断尝试加载]。但是如果我$i+2更改为$i++,它有效,如果我将其更改为$i+1,那也不起作用。

$i++等效于$i = $i + 1,注意赋值运算符=,这里不存在$i + 2添加但不更新...

由于$i永远不会更新,因此您有一个无限循环,其中脚本可能会达到允许的处理时间并终止。

http://php.net/manual/en/function.set-time-limit.php

设置允许脚本运行的秒数。如果达到此目的,脚本将返回致命错误。默认限制为 30 秒,或者,如果存在,则为 php.ini 中定义的max_execution_time值。

您需要

$i+2更改为$i = $i + 2$i += 2$i++意味着$i += 1

for($i = 0; $i <= 30; $i += 2)
{
  echo $i;
}
您需要在

每次迭代后为 for 循环提供一些递增/递减值。$i+2 不会更改 i 的值。因此,在您的情况下,for 循环为每次连续迭代找到相同的 i 值。因此,永远不会满足终止条件。因此,for 循环卡在无限循环中。

更改:$i+1 $i=$i+1$i+=1

$i++实际上意味着$i=$i+1.

你必须改成$i=$i+2,因为$i++等于$i=$i+1