[英]php, infinite loop in while() 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,所以while語句變成了false,但是正如我所見,這不是因為
它繼續回顯9999999 .......
請就上述代碼啟發我。 最好的祝福。
注意:我已經檢查了類似的問題,但找不到適合我的情況的答案
$x=9
是一個賦值,並且始終為true。 也許您的意思是$x==9
或其他一些關系運算符。
你的意思是
$x == 9
但是在您的示例中,它什么也不做,因為$ x!= 9。
while($x < 9)
您正在將值9分配給變量x,而不是執行關系比較。 一個常見的錯誤。 =是賦值運算符,而==是相等比較運算符。
http://en.wikipedia.org/wiki/Assignment_(computer_science)#Assignment_versus_equality
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.