PHP中for循环与foreach的区别

yipeiwu_com6年前PHP代码库

for循环与foreach的区别

foreach 依赖 IEnumerable.

第一次 var a in GetList() 时调用 GetEnumerator 返回第一个对象并赋给a,

以后每次再执行 var a in GetList() 的时候调用 MoveNext.直到循环结束.

期间GetList()方法只执行一次.

+ View Code

  for 循环靠下标定位.    list[3] 相当于 *(list + 3).

+ View Code

or 循环每次循环会调用 GetCount() 来比较长度. 而 foreach 不考虑长度,只调用一次GetList().

结论.

在固定长度或长度不需要计算的时候for循环效率高于foreach.

在不确定长度,或计算长度有性能损耗的时候,用foreach比较方便.

并且foreach的时候会锁定集合中的对象.期间不能修改.

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持【宜配屋www.yipeiwu.com】!

相关文章

PHP防止sql注入小技巧之sql预处理原理与实现方法分析

本文实例讲述了PHP防止sql注入小技巧之sql预处理原理与实现方法。分享给大家供大家参考,具体如下: 我们可以把sql预处理看作是想要运行的 SQL 的一种编译过的模板,它可以使用变量...

如何利用php array_multisort函数 对数据库结果进行复杂排序

首先讲一下需求:数据库中有4个字段分别是id,volume,edition,name. 要求对查询结果按照volume+edition从大到小排序。下面将一下array_multisor...

PHP字符串中插入子字符串方法总结 原创

本文实例讲述了PHP字符串中插入子字符串方法。分享给大家供大家参考,具体如下: 首先来看看一个网上常见的方法: 方法一:字符串遍历 function str_insert($str,...

php中Array2xml类实现数组转化成XML实例

本文实例讲述了php中Array2xml类实现数组转化成XML的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下: <?php class Array2x...

PHP面向对象编程快速入门

【摘 要】面向对象编程(OOP)是我们编程的一项基本技能,PHP4对OOP提供了良 好的支持。如何使用OOP的思想来进行PHP的高级编程,对于提高PHP编程能力和&n...