2011-08-15 156 views
1

簡單問題:PHP 「for」 循環問題

爲什麼是這樣的:

for($k=1;$k<=10;$k+2) { } 

給人一種無限循環?當我改變$ k + 2 $ k ++時,它工作正常。

我該如何糾正它? (我不能有奇數改變10,因爲我需要此功能工作,要麼有一對或在該地損害值)

+0

@Shef $ k在這種情況下總是1,因爲$ k沒有更新 – Jeffrey04

+0

你們都對,剛起牀,這麼早就想到了...... :) – Shef

回答

13
$k+2 

這不會改變$k的價值,所以它永遠不會獲得的高於10也許你的意思是:

$k+=2 

這將由兩名每次表達式獲取的評估(在每個for循環的末尾)增加$k

+0

感謝您的快速回答! –

+0

@Adam Strudwick:不客氣。 – hakre

4
for($k=1;$k<=10; $k = $k+2) { } 

for($k=1;$k<=10; $k += 2) { } 
4

它是無限循環,因爲ķ$沒有更新,試試這個,而不是

for($k = 1; $k <= 10; $k = $k + 2) {} 

for($k = 1; $k <= 10; $k += 2) {} 

參考:PHP operators