《PHP技術大全·第一卷》foreach細緻解讀
知識
01-11
本文系猿哥《PHP技術大全·第一卷》的系列原創文章。
先決條件
本文所使用的PHP版本:7.1
巨坑總結
巨坑1
巨坑2
數組遍歷為何foreach比for性能好
先看stackOverflow上的對比結果:Performance of FOR vs FOREACH in PHP, 主要有下面幾點原因:
PHP中的數組C語言底層源碼是由HashTable數據結構實現的,HashTable的索引訪問開銷是O(1)級別,而HashTable這種數據結構適合foreach的iterator(譯作:迭代器)訪問
for循環需要維護一個$i計數器,且每次都要判斷一下$i是否越界
最佳實踐
能使用foreach的地方盡量用,因為 for 可以完全被 foreach 取代;
盡量不要在foreach內部使用指針操作函數;
在foreach中使用引用的方式修改數組值時一定要記得unset掉對應的中間變數。
更多分享,敬請關注
未經許可,禁止轉載!
分享一本電子書《PHP與MySQL高性能應用開發》,內容挺不錯。


TAG:PHP技術大全 |