[僅供個人參考系列]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也可以用來遍歷對象元素
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
鼠標控制軟件有可能和虛擬機軟件產生衝突
氫氦
2024-06-13 14:37:05
比特幣區塊檢查
weiwei22844
2024-06-13 14:36:55
自定義MyBatis插件
燈塔下的守望者
2024-06-13 14:36:45
高性能版本的零內存分配LikeString函數(ZeroMemAllocLikeOperator)
VAllen
2024-06-13 14:35:54
【java基礎】java線程的四種創建方式
金大鑫要堅持
2024-06-13 14:32:24
【java基礎】線程池的狀態流轉
金大鑫要堅持
2024-06-13 14:32:24
微服務實踐之使用 kube-vip 搭建高可用 Kubernetes 集羣
hiningrise
2024-06-13 14:30:24
Keyboard Maestro 常用的 Actions 記錄
水車
2024-06-13 14:27:44
一款.NET開源、功能強大、跨平臺的繪圖庫 - OxyPlot
追逐時光
2024-06-13 14:27:24
一個開源且全面的C#算法實戰教程
追逐時光
2024-06-13 14:27:24
重新搞黑魂1的mod
張博的博客
2024-06-13 14:25:14
C語言--右移 左移
張博的博客
2024-06-13 14:25:14
HbuilderX,找不到rollup/rollup-win32-x64-msvc
HelloLLLLL
2024-06-13 14:22:53