这是我正在做的事情(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
。