这一代码进入一个无限循环,并给了我一个PHP那张无限循环
Fatal error: Maximum execution time of 30 seconds exceeded
这是我使用
<?php
$sofar = 1;
while ($sofar == 1);
{
echo $sofar;
$sofar == $sofar+1;
}
?>
这一代码进入一个无限循环,并给了我一个PHP那张无限循环
Fatal error: Maximum execution time of 30 seconds exceeded
这是我使用
<?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*/}
那里$ SOFAR从未cahnges,你必须使用=
改变或设置一个变量的值。
您还在您的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++;
}
?>
增量与++
。
==
是comparison operator,不assigment operator(=
),使指令$sofar == $sofar+1;
实际上没有做任何事情(它返回false
无处)。
换句话说:$sofar
总是1
。
您的while
声明末尾有分号。这相当于
while ($sofar == 1) {
}
因此会导致无限循环。另外,你正在做一个比较,而不是任务。你的代码应该看起来像这样:
<?php
$sofar = 1;
while ($sofar == 1)
{
echo $sofar;
$sofar = $sofar+1;
}
?>
只是一个跳转开始为什么不试试echo $ sofar == $ sofar + 1;看看会发生什么=) – kjy112 2011-01-06 21:23:59
呵呵不错。 :) – PeeHaa 2011-01-06 21:27:41