PHP中for循環(huán)與foreach的區(qū)別
for循環(huán)與foreach的區(qū)別
foreach 依賴 IEnumerable.
第一次 var a in GetList() 時調(diào)用 GetEnumerator 返回第一個對象并賦給a,
以后每次再執(zhí)行 var a in GetList() 的時候調(diào)用 MoveNext.直到循環(huán)結(jié)束.
期間GetList()方法只執(zhí)行一次.
+ View Code
for 循環(huán)靠下標定位. list[3] 相當于 *(list + 3).
+ View Code
or 循環(huán)每次循環(huán)會調(diào)用 GetCount() 來比較長度. 而 foreach 不考慮長度,只調(diào)用一次GetList().
結(jié)論.
在固定長度或長度不需要計算的時候for循環(huán)效率高于foreach.
在不確定長度,或計算長度有性能損耗的時候,用foreach比較方便.
并且foreach的時候會鎖定集合中的對象.期間不能修改.
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
php 如何設(shè)置一個嚴格控制過期時間的session
本篇文章主要介紹了php設(shè)置一個嚴格控制過期時間的session的方法,具有很好的參考價值。下面跟著小編一起來看下吧2017-05-05php使用pdo連接并查詢sql數(shù)據(jù)庫的方法
這篇文章主要介紹了php使用pdo連接并查詢sql數(shù)據(jù)庫的方法,實例分析了常用的pdo連接方法與改進方法,并針對pdo技術(shù)進行了分析說明,需要的朋友可以參考下2014-12-12php基于雙向循環(huán)隊列實現(xiàn)歷史記錄的前進后退等功能
這篇文章主要介紹了php基于雙向循環(huán)隊列實現(xiàn)歷史記錄的前進后退等功能,較為詳細的分析了php使用歷史記錄功能所涉及的相關(guān)技巧與實現(xiàn)方法,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08