PHP中for循環(huán)與foreach的區(qū)別
for循環(huán)與foreach的區(qū)別
foreach 依賴 IEnumerable.
第一次 var a in GetList() 時(shí)調(diào)用 GetEnumerator 返回第一個(gè)對象并賦給a,
以后每次再執(zhí)行 var a in GetList() 的時(shí)候調(diào)用 MoveNext.直到循環(huán)結(jié)束.
期間GetList()方法只執(zhí)行一次.
+ View Code
for 循環(huán)靠下標(biāo)定位. list[3] 相當(dāng)于 *(list + 3).
+ View Code
or 循環(huán)每次循環(huán)會(huì)調(diào)用 GetCount() 來比較長度. 而 foreach 不考慮長度,只調(diào)用一次GetList().
結(jié)論.
在固定長度或長度不需要計(jì)算的時(shí)候for循環(huán)效率高于foreach.
在不確定長度,或計(jì)算長度有性能損耗的時(shí)候,用foreach比較方便.
并且foreach的時(shí)候會(huì)鎖定集合中的對象.期間不能修改.
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
PHP隨機(jī)數(shù) C擴(kuò)展隨機(jī)數(shù)
這篇文章主要介紹了PHP隨機(jī)數(shù),C擴(kuò)展隨機(jī)數(shù)的相關(guān)資料,還為大家介紹了PHP唯一ID生成擴(kuò)展ukey,感興趣的小伙伴們可以參考一下2016-05-05php 如何設(shè)置一個(gè)嚴(yán)格控制過期時(shí)間的session
本篇文章主要介紹了php設(shè)置一個(gè)嚴(yán)格控制過期時(shí)間的session的方法,具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-05-05php正則表達(dá)式(regar expression)
在編寫處理字符串的程序或網(wǎng)頁時(shí),經(jīng)常會(huì)有查找符合某些復(fù)雜規(guī)則的字符串的需要。正則表達(dá)式就是用于描述這些規(guī)則的語法。2011-09-09PHP對接阿里云虛擬號的實(shí)現(xiàn)(號碼隱私保護(hù))
這篇文章主要介紹了PHP對接阿里云虛擬號的實(shí)現(xiàn)(號碼隱私保護(hù)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03php實(shí)現(xiàn)圖片添加描邊字和馬賽克的方法
這篇文章主要介紹了php實(shí)現(xiàn)圖片添加描邊字和馬賽克的方法,通過自定義函數(shù)imagemask與imagetextouter實(shí)現(xiàn)圖片添加馬賽克與文字描邊的效果,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12php使用pdo連接并查詢sql數(shù)據(jù)庫的方法
這篇文章主要介紹了php使用pdo連接并查詢sql數(shù)據(jù)庫的方法,實(shí)例分析了常用的pdo連接方法與改進(jìn)方法,并針對pdo技術(shù)進(jìn)行了分析說明,需要的朋友可以參考下2014-12-12php基于雙向循環(huán)隊(duì)列實(shí)現(xiàn)歷史記錄的前進(jìn)后退等功能
這篇文章主要介紹了php基于雙向循環(huán)隊(duì)列實(shí)現(xiàn)歷史記錄的前進(jìn)后退等功能,較為詳細(xì)的分析了php使用歷史記錄功能所涉及的相關(guān)技巧與實(shí)現(xiàn)方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08