php中foreach和for的效能區別是什麼?

2020-07-16 10:06:35
php中foreach和for的效能區別是什麼?下面本篇文章給大家對比一下php中的for和foreach的效能,介紹一下foreach和for的區別。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

php中for和foreach的效能對比

總體來說,如果資料庫過幾十萬了,才能看出來快一點還是慢一點,如果低於10萬的迴圈,就不用測試了。php推薦用foreach。

迴圈數位陣列時,for需要事先count($arr)計算陣列長度,需要引入自增變數$i,每次回圈都要進行條件判斷$i<$c,然後自增$i++,輸出陣列元素時,$arr[$i]需要進行雜湊操作。

而foreach迴圈陣列時,指標會自動指向下一個元素,不需要計算陣列長度,沒有條件判斷和自增變數,呼叫元素時也沒有雜湊操作,所以效能肯定要比for和while高。

另外,for和while對存在鍵值對映的關聯陣列無能為力。所以,遍歷陣列,首選foreach。

foreach也是我PHP裡最喜歡的關鍵字,因為它確實強大。array_map/array_filter/array_walk遍歷陣列的方式和foreach一樣,但需要執行回撥函數,所以也比foreach慢。

更多相關知識,請關注 PHP中文網!!

以上就是php中foreach和for的效能區別是什麼?的詳細內容,更多請關注TW511.COM其它相關文章!