/// 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 .......
请告诉我有关上述代码的信息。最好的问候。
注意:我已经检查了类似的问题但是找不到我的情况答案
答案 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