[英]PHP goes on infinite loop
这段代码无限循环,给了我一个
致命错误:超过30秒的最大执行时间
这是我正在使用的代码
<?php
$sofar = 1;
while ($sofar == 1);
{
echo $sofar;
$sofar == $sofar+1;
}
?>
您的问题是对增量使用两个等号。 即$sofar = $sofar + 1
是正确的,但是您有$sofar ==
。 另外, $sofar++
或++$sofar
可以。
你基本上在做什么
if($sofar == $sofar+1){/*Nothing*/}
因此您的表情将评估为
if(1 == 2){/*nothing*/}
对于$ so从未有过的困难,您必须使用=
更改或设置变量的值。
您还在while
语句的末尾添加了分号,分号表示PHP语句的末尾。
你应该在做
if( condition )
{
}
<?php
$sofar = 1;
while ($sofar == 1)
{
echo $sofar;
$sofar = $sofar+1;
}
?>
您有一个=号太多
而且你有一个; 过了一会儿
一个=符号分配值两个==符号比较值
您还可以使用:
$sofar++;
$sofar += 1;
$sofar = $sofar +1;
也许:
$sofar = 1;
while ($sofar == 1)
{
echo ++$sofar;
}
是的,绝对应该是:
$sofar = $sofar + 1
而不是
$sofar == $sofar + 1
后者(您正在使用)是一个条件语句。
您使用的==
不是赋值运算符,而是条件运算符。
您应该做$sofar = $sofar+1;
或$sofar++;
增加值
<?php
$sofar = 1;
while ($sofar == 1) {
echo $sofar;
$sofar++;
}
?>
用++
递增。
您的while
语句结尾处有分号。 这相当于
while ($sofar == 1) {
}
因此会导致无限循环。 另外,您正在进行比较,而不是分配。 您的代码应如下所示:
<?php
$sofar = 1;
while ($sofar == 1)
{
echo $sofar;
$sofar = $sofar+1;
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.