PHP中for循环与foreach的区别


Posted in PHP onMarch 06, 2017

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的时候会锁定集合中的对象.期间不能修改.

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

PHP 相关文章推荐
漂亮但不安全的CTB
Oct 09 PHP
php array_intersect比array_diff快(附详细的使用说明)
Jul 03 PHP
php入门学习知识点七 PHP函数的基本应用
Jul 14 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
Sep 27 PHP
php操作mongoDB实例分析
Dec 29 PHP
ecshop后台编辑器替换成ueditor编辑器
Mar 03 PHP
PHP读MYSQL中文乱码的快速解决方法
Oct 01 PHP
php解析base64数据生成图片的方法
Dec 06 PHP
php语言注释,单行注释和多行注释
Jan 21 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 PHP
微信公众平台开发-微信服务器IP接口实例(含源码)
Mar 05 #PHP
php实现留言板功能
Mar 05 #PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
Mar 04 #PHP
php获取网站根目录物理路径的几种方法(推荐)
Mar 04 #PHP
PHP获取路径和目录的方法总结【必看篇】
Mar 04 #PHP
php redis实现对200w用户的即时推送
Mar 04 #PHP
php获取目录中所有文件名及判断文件与目录的简单方法
Mar 04 #PHP
You might like
用PHPdig打造属于你自己的Google[图文教程]
2007/02/14 PHP
ThinkPHP 防止表单重复提交的方法
2011/08/08 PHP
浅谈javascript构造函数与实例化对象
2015/06/22 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
JQuery异步加载PartialView的方法
2016/06/07 Javascript
bootstrap suggest下拉框使用详解
2017/04/10 Javascript
在Js页面通过POST传递参数跳转到新页面详解
2017/08/25 Javascript
JavaScript实现滑动导航栏效果
2017/08/30 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
使用electron实现百度网盘悬浮窗口功能的示例代码
2018/10/24 Javascript
基于JavaScript获取base64图片大小
2019/10/18 Javascript
vue之延时刷新实例
2019/11/14 Javascript
[10:07]2014DOTA2国际邀请赛 实拍选手现场观战DK对阵Titan
2014/07/12 DOTA
python函数返回多个值的示例方法
2013/12/04 Python
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
Python OS模块常用函数说明
2015/05/23 Python
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
Python列表生成式与生成器操作示例
2018/08/01 Python
详解Python给照片换底色(蓝底换红底)
2019/03/22 Python
Python音频操作工具PyAudio上手教程详解
2019/06/26 Python
python获取引用对象的个数方式
2019/12/20 Python
Django分组聚合查询实例分享
2020/04/29 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
2020/07/09 Python
python类共享变量操作
2020/09/03 Python
库房主管岗位职责
2013/12/31 职场文书
教学大赛获奖感言
2014/01/15 职场文书
高二化学教学反思
2014/01/30 职场文书
幼儿园大班教学反思
2014/02/10 职场文书
合作意向书格式及范文
2014/03/31 职场文书
销售业务员岗位职责
2015/02/13 职场文书
《日月潭》教学反思
2016/02/20 职场文书
四则混合运算教学反思
2016/02/23 职场文书
详解MySQL中的pid与socket
2021/06/15 MySQL
python3中apply函数和lambda函数的使用详解
2022/02/28 Python