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】!

相关文章

golang 调用 php7详解及实例

执行php文件 func Test_exec(t *testing.T) { engine.Initialize() ctx := &engine.Context{...

php在数组中查找指定值的方法

本文实例讲述了php在数组中查找指定值的方法。分享给大家供大家参考。具体如下: php中有两个函数可以判断数组中是否包含指定的值,分别是:array_search($value, $ar...

php+ajax实现无刷新的新闻留言系统

php+ajax实现无刷新的新闻留言系统

本文介绍了一款无刷新的新闻留言系统,最简明易懂的一个ajax无刷新留言系统,源码中省略了接受数据验证的过程,大家可根据自己的需求进行扩展,下面进入主题。 核心源码: 1.配置文件:co...

php中FTP函数ftp_connect、ftp_login与ftp_chmod用法

本文实例讲述了php中FTP函数ftp_connect、ftp_login与ftp_chmod用法。分享给大家供大家参考。具体方法如下: ftp_connect() 函数建立一个新的 f...

php ckeditor上传图片文件名乱码解决方法

打开editor/filemanager/connectors/php目录下commands.php,找到FileUpload函数,在复制代码 代码如下:$sExtension = su...