【发布时间】:2011-11-19 20:03:21
【问题描述】:
/// infinite loop??
$x=1;
while($x=9){
echo $x;
$x++;
}
我不明白背后的原因,为什么上面的代码会导致无限循环 在我看来,上面的代码应该输出一次“9”。但它输出无穷无尽的999999999......
起初(当 x 等于 1 时)while 语句为假,所以什么也没有发生, 然后 x 变为 2 但 while 语句再次为假;
所以当 x 变为 9 而语句为真时,它应该回显 9,然后由于 x++,我们加 1;它变成了 10,所以 while 语句变为错误,但我认为它不是因为
它继续回显 9999999.......
请告诉我上面的代码。最好的问候。
注意:我检查了类似的问题,但找不到适合我情况的答案 thx
【问题讨论】:
-
为此,很多情况下你会看到写成 if (9 == $x) 来避免这样的错误。
-
我认为你应该从你的 x=9 进入 while 循环的第一刻就假设出了问题。如果 while 条件为假,那么 $x++ 甚至不会全部运行。
标签: php while-loop infinite-loop