簡體   English   中英

php,while()循環中的無限循環

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM