[僅供個人參考系列]php中的for,foreach,while區別與聯繫

循環數字數組時,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慢.

數組循環用foreach,知道循環次數一般用for,條件循環時則用while.另外,foreach也可以用來遍歷對象元素
發佈了128 篇原創文章 · 獲贊 70 · 訪問量 142萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章