php,while()循环中的无限循环

时间:2011-09-18 20:59:16

标签: php while-loop infinite-loop

/// infinite loop??
$x=1; 
while($x=9){ 
echo $x;
$x++;
}

我不明白背后的原因,为什么上面的代码会导致无限循环 在我看来,上面的代码应输出“9”一次。但它输出无穷无尽的999999999 ......

首先(当x等于1时),而声明为假,所以没有任何反应, 然后x变为2,但声明为假时再次;

因此,当x变为9而while语句为true所以它应该回显9然后我们因x ++而加1;它变成了10,所以声明变得虚假但是因为我看到它不是因为

它继续回应9999999 .......

请告诉我有关上述代码的信息。最好的问候。

注意:我已经检查了类似的问题但是找不到我的情况答案

3 个答案:

答案 0 :(得分:10)

$x=9是一项任务,并且始终是真的。也许你的意思是$x==9,或者其他一些关系运算符。

答案 1 :(得分:3)

你的意思是

$x == 9

但在你的例子中它不会做任何事情,因为$ x!= 9.你可能意味着

while($x < 9)

答案 2 :(得分:1)

您将值9赋给变量x而不是执行关系比较。一个常见的错误。 =是赋值运算符,而==是相等比较运算符。

http://en.wikipedia.org/wiki/Assignment_(computer_science)#Assignment_versus_equality