PHP中for循环与foreach的区别

yipeiwu_com7年前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在项目中寻找代码的坏味道(综艺命名)

php在项目中寻找代码的坏味道(综艺命名)

漫画篇 查字典   这个是我比较习惯的方式,打开字典,把中文放进去,看它能给我什么好的名字。             &nb...

[PHP]实用函数4

//输出关于PHP和当前请示的信息页面 int phpinfo(void) //返回当前PHP版本号 string phpversion(void) //打印出为本P...

PHP实现简单ajax Loading加载功能示例

本文实例讲述了PHP实现简单ajax Loading加载功能。分享给大家供大家参考,具体如下: var xmlHttp; function createXmlHttpReq() {...

php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别

方法名:mssql_fetch_row() 测试: 复制代码 代码如下: require 'dbconn.php'; $sql = 'select * from _Test'; $que...

PHP大转盘中奖概率算法实例

本文实例讲述了PHP大转盘中奖概率算法的实现方法,分享给大家供大家参考。具体如下: 大转盘是最近很多线上网动中一个比较有意思的东西了,下面我们就来看看这个大转盘中奖概率算法与例子,希望对...