2011-01-06 86 views
0

这一代码进入一个无限循环,并给了我一个PHP那张无限循环

Fatal error: Maximum execution time of 30 seconds exceeded

这是我使用

<?php 
$sofar = 1; 

while ($sofar == 1); 
{ 
echo $sofar; 
$sofar == $sofar+1; 
} 

?> 
+5

只是一个跳转开始为什么不试试echo $ sofar == $ sofar + 1;看看会发生什么=) – kjy112 2011-01-06 21:23:59

+0

呵呵不错。 :) – PeeHaa 2011-01-06 21:27:41

回答

1

您正在使用的增量两个等号问题的代码。即$sofar = $sofar + 1是正确的,但你有$sofar ==。或者只是$sofar++++$sofar的作品。

你基本上是做

if($sofar == $sofar+1){/*Nothing*/} 

所以你想要得到

if(1 == 2){/*nothing*/} 

那里$ SOFAR从未cahnges,你必须使用=改变或设置一个变量的值。

您还在您的while语句末尾添加了一个分号,分号表示PHP语句的结尾。

你应该做

if(condition) 
{ 

} 
1
<?php 
$sofar = 1; 

while ($sofar == 1) 
{ 
echo $sofar; 
$sofar = $sofar+1; 
} 

?> 

你有一个等号(=)太多

而且你有一个;过了一段时间。

一个等号(=)分配值 两个==迹象比较值

您还可以使用:

$sofar++; 
$sofar += 1; 
$sofar = $sofar +1; 

或许:

$sofar = 1; 

while ($sofar == 1) 
{ 
    echo ++$sofar; 
} 
1

是的,当然,它应该是:

$sofar = $sofar + 1 

而不是

$sofar == $sofar + 1 

后者(你正在使用)是一个条件语句。

0

你使用==这是不是一个赋值运算符,但有条件的经营者。

你应该做$sofar = $sofar+1;$sofar++;递增值

0
<?php 
$sofar = 1; 

while ($sofar == 1) { 
    echo $sofar; 
    $sofar++; 
} 
?> 

增量与++

0

您的while声明末尾有分号。这相当于

while ($sofar == 1) { 

} 

因此会导致无限循环。另外,你正在做一个比较,而不是任务。你的代码应该看起来像这样:

<?php 
$sofar = 1; 

while ($sofar == 1) 
{ 
echo $sofar; 
$sofar = $sofar+1; 
} 

?>