PHP中for循環(huán)與foreach的區(qū)別
for循環(huán)與foreach的區(qū)別
foreach 依賴 IEnumerable.
第一次 var a in GetList() 時調用 GetEnumerator 返回第一個對象并賦給a,
以后每次再執(zhí)行 var a in GetList() 的時候調用 MoveNext.直到循環(huán)結束.
期間GetList()方法只執(zhí)行一次.
+ View Code
for 循環(huán)靠下標定位. list[3] 相當于 *(list + 3).
+ View Code
or 循環(huán)每次循環(huán)會調用 GetCount() 來比較長度. 而 foreach 不考慮長度,只調用一次GetList().
結論.
在固定長度或長度不需要計算的時候for循環(huán)效率高于foreach.
在不確定長度,或計算長度有性能損耗的時候,用foreach比較方便.
并且foreach的時候會鎖定集合中的對象.期間不能修改.
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關文章
php5.3 不支持 session_register() 此函數已啟用的解決方法
php從5.2.x升級到5.3.2.出來問題了。有些原來能用的程序報錯了,Deprecated: Function session_register() is deprecated2013-11-11

