2013-07-16 38 views
0

我正在學PHP的循環,因爲我做了FOR循環似乎我搞砸了。 基本上,以及發生這種情況:我只是做了一個緩衝區溢出?

for($i = 2; $i++; $i < 26) { 
    print $i; 
    } 

我加入$ i ++在持續固定它。但我的問題是:這是一個緩衝區溢出? 它超過數10000

回答

8

不,它只是一個無限循環。沒有什麼東西可以增加內存,所以沒有什麼可以溢出。它將永遠不會停止運行,就是這樣。

+0

爲什麼無限?看到我上面的評論。 – JohnB

+3

@John整數溢出成浮動,所以你的理論不成立。 http://3v4l.org/ckIup – deceze

+0

+1,這是非常真實的 – Wh1T3h4Ck5

3

錯誤方式:

for($i = 2; $i < 26; $i++) { 
    print $i; 
} 

PHP for loop工作原理是這樣的:

for(<initialization>; <condition>; <iteration>) { 

} 

你可以把這些字段中做任何事,但是,使其正常工作,你需要了解什麼是PHP與他們一起做。

$ i = 2;那是初始化,你正在準備incremental variable

$ i < 26;這是條件,while $i is less than 26

$ i ++;迭代。 after each turn of the loop, add到$ i`。

當$ i等於25時,循環將結束。

1

我認爲這是一個無限循環。無論你放置在第二個位置上,都表示直到循環將繼續迭代的條件。由於您總是能夠將$ i增加一個,所以條件永遠是真實的,因此您最終將永遠迭代。