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 相关文章推荐
自动跳转中英文页面
Oct 09 PHP
dedecms后台验证码总提示错误的解决方法
Mar 21 PHP
cmd下运行php脚本
Nov 25 PHP
PHP开发中常用的三个表单验证函数使用小结
Mar 03 PHP
PHP把网页保存为word文件的三种方法
Apr 01 PHP
PHP CURL获取返回值的方法
May 04 PHP
PHP获取当前完整URL地址的函数
Dec 21 PHP
php判断对象是派生自哪个类的方法
Jun 20 PHP
php快速排序原理与实现方法分析
May 26 PHP
学习PHP Cookie处理函数
Aug 09 PHP
laravel创建类似ThinPHP中functions.php的全局函数
Nov 26 PHP
thinkPHP线上自动加载异常与修复方法实例分析
Dec 01 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
微信公众平台消息接口校验与消息接口响应实例
2014/12/23 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
解决FireFox下[使用event很麻烦]的问题
2006/11/26 Javascript
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
JS取文本框中最小值的简单实例
2013/11/29 Javascript
jquery如何根据值设置默认的选中项
2014/03/17 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
2016/08/05 Javascript
JS基于面向对象实现的多个倒计时器功能示例
2017/02/28 Javascript
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
vue数组对象排序的实现代码
2018/06/20 Javascript
如何换个角度使用VUE过滤器详解
2019/09/11 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
详解vue 中 scoped 样式作用域的规则
2020/09/14 Javascript
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
python二进制文件的转译详解
2019/07/03 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
使用PyCharm官方中文语言包汉化PyCharm
2020/11/18 Python
Python基于template实现字符串替换
2020/11/27 Python
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
绘儿乐产品官方在线商店:Crayola.com
2019/09/07 全球购物
医学生实习自荐信
2013/10/01 职场文书
高级工程师英文求职信
2014/03/19 职场文书
公司委托书格式范文
2014/04/04 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
学期个人自我总结
2015/02/13 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
Python实战之OpenCV实现猫脸检测
2021/06/26 Python
SQL Server远程连接的设置步骤(图文)
2022/03/23 SQL Server
mysql使用 not int 子查询隐含陷阱
2022/04/12 MySQL
MySQL如何使备份得数据保持一致
2022/05/02 MySQL