PHP进行无限循环
这段代码在一个无限循环中运行,给了我一个 致命错误:的最大执行时间 超过30秒 这是我正在使用的代码PHP进行无限循环,php,infinite-loop,Php,Infinite Loop,这段代码在一个无限循环中运行,给了我一个 致命错误:的最大执行时间 超过30秒 这是我正在使用的代码 <?php $sofar = 1; while ($sofar == 1); { echo $sofar; $sofar == $sofar+1; } ?> 您的问题是使用两个等号表示增量。Ie$sofar=$sofar+1是正确的,但您使用的是$sofar==。或者只需$sofar++或++$sofar即可 你基本上在做什么 if($sofar == $sofar+1){/
<?php
$sofar = 1;
while ($sofar == 1);
{
echo $sofar;
$sofar == $sofar+1;
}
?>
您的问题是使用两个等号表示增量。Ie
$sofar=$sofar+1
是正确的,但您使用的是$sofar==
。或者只需$sofar++
或++$sofar
即可
你基本上在做什么
if($sofar == $sofar+1){/*Nothing*/}
所以你的表达式的计算结果是
if(1 == 2){/*nothing*/}
对于$sofar never cahnges,您必须使用=
来更改或设置变量的值
您还可以在语句末尾添加分号,而语句的分号表示PHP语句的结尾
你应该做什么
if( condition )
{
}
您的问题是使用两个等号表示增量。Ie$sofar=$sofar+1
是正确的,但您使用的是$sofar==
。或者只需$sofar++
或++$sofar
即可
你基本上在做什么
if($sofar == $sofar+1){/*Nothing*/}
所以你的表达式的计算结果是
if(1 == 2){/*nothing*/}
对于$sofar never cahnges,您必须使用=
来更改或设置变量的值
您还可以在语句末尾添加分号,而语句的分号表示PHP语句的结尾
你应该做什么
if( condition )
{
}
或许:
$sofar = 1;
while ($sofar == 1)
{
echo ++$sofar;
}
或许:
$sofar = 1;
while ($sofar == 1)
{
echo ++$sofar;
}
是的,当然,应该是:
$sofar = $sofar + 1
而不是
$sofar == $sofar + 1
后一个(您正在使用的)是一个条件语句。是的,肯定应该是:
$sofar = $sofar + 1
而不是
$sofar == $sofar + 1
后者(您正在使用)是一个条件语句。您正在使用的=
不是赋值运算符,而是条件运算符
您应该执行$sofar=$sofar+1
或$sofar++
使用不是赋值运算符而是条件运算符的=
来增加值
<?php
$sofar = 1;
while ($sofar == 1) {
echo $sofar;
$sofar++;
}
?>
您应该执行$sofar=$sofar+1
或$sofar++
增加值
<?php
$sofar = 1;
while ($sofar == 1) {
echo $sofar;
$sofar++;
}
?>
用++
用++
==
递增是一个,而不是(=
),因此指令$sofar==$sofar+1
实际上什么都不做(它不返回任何地方)
换句话说:$sofar
始终是1
=
是a,而不是(=
),因此指令$sofar===$sofar+1
实际上什么都不做(它不返回任何地方)
换句话说:$sofar
总是1
while
语句末尾有一个分号。这相当于
while ($sofar == 1) {
}
因此将导致一个无限循环。此外,您正在进行比较,而不是作业。您的代码应该如下所示:
<?php
$sofar = 1;
while ($sofar == 1)
{
echo $sofar;
$sofar = $sofar+1;
}
?>
while
语句末尾有一个分号。这相当于
while ($sofar == 1) {
}
因此将导致一个无限循环。此外,您正在进行比较,而不是作业。您的代码应该如下所示:
<?php
$sofar = 1;
while ($sofar == 1)
{
echo $sofar;
$sofar = $sofar+1;
}
?>
对你来说只是一个跳跃式的开始,为什么不试试echo$sofar==$sofar+1;看看会发生什么=)这只是一个跳跃式的开始,为什么不试试echo$sofar==$sofar+1;看看会发生什么=)仍然不起作用:去掉分号。从afterwhile()
仍然不起作用:删除分号。从while()之后开始