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 相关文章推荐
如何利用php+mysql保存和输出文件
Oct 09 PHP
用PHP伪造referer突破网盘禁止外连的代码
Jun 15 PHP
php5编程中的异常处理详细方法介绍
Jul 29 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
Jan 07 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
Yii不依赖Model的表单生成器用法实例
Dec 04 PHP
使用 PHPStorm 开发 Laravel
Mar 24 PHP
php求数组全排列,元素所有组合的方法
May 05 PHP
Yii中CGridView禁止列排序的设置方法
Jul 12 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
Feb 08 PHP
PHP解决中文乱码
Apr 28 PHP
详解Yaf框架PHPUnit集成测试方法
Dec 27 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
PHP动态变静态原理
2006/11/25 PHP
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
封装好的省市地区联动控件附下载
2007/08/13 Javascript
调试Node.JS的辅助工具(NodeWatcher)
2012/01/04 Javascript
JavaScript字符串String和Array操作的有趣方法
2012/12/18 Javascript
jQuery常见开发技巧详细整理
2013/01/02 Javascript
jquery清空表单数据示例分享
2014/02/13 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
JS实现网页标题栏显示当前时间和日期的完整代码
2015/11/02 Javascript
jQuery学习之DOM节点的插入方法总结
2017/01/22 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
JavaScript函数式编程(Functional Programming)箭头函数(Arrow functions)用法分析
2019/05/22 Javascript
JS学习笔记之数组去重实现方法小结
2019/05/29 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
2019/09/07 Javascript
在VUE中实现文件下载并判断状态的方法
2019/11/08 Javascript
多个Vue项目部署到服务器的步骤记录
2020/10/22 Javascript
利用node.js开发cli的完整步骤
2020/12/29 Javascript
[42:00]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第一场 12.13
2020/12/17 DOTA
python创建一个最简单http webserver服务器的方法
2015/05/08 Python
python爬虫爬取网页表格数据
2018/03/07 Python
python中字符串比较使用is、==和cmp()总结
2018/03/18 Python
浅谈Python Opencv中gamma变换的使用详解
2018/04/02 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
2019/01/23 Python
Python序列类型的打包和解包实例
2019/12/21 Python
python中有关时间日期格式转换问题
2019/12/25 Python
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
ASOS英国官网:英国在线时装和化妆品零售商
2017/05/19 全球购物
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
Web Service面试题:如何搭建Axis2的开发环境
2012/06/20 面试题
捷科时代的软件测试笔试题
2015/11/09 面试题
通信工程专业求职信
2014/06/04 职场文书
放飞梦想演讲稿800字
2014/08/26 职场文书