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下一个阿拉伯数字转中文数字的函数
Jul 16 PHP
QueryPath PHP 中的jQuery
Apr 11 PHP
如何使用PHP实现javascript的escape和unescape函数
Jun 29 PHP
php使用curl抓取qq空间的访客信息示例
Feb 28 PHP
php中调用其他系统http接口的方法说明
Feb 28 PHP
Symfony2学习笔记之系统路由详解
Mar 17 PHP
完美利用Yii2微信后台开发的系列总结
Jul 18 PHP
深入理解PHP JSON数组与对象
Jul 19 PHP
使用正则去除php代码中的注释方法
Nov 03 PHP
php字符集转换
Jan 23 PHP
Yii2.0中使用js异步删除示例
Mar 10 PHP
php双向队列实例讲解
Nov 17 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
收音机术语解释
2021/03/01 无线电
11个PHPer必须要了解的编程规范
2014/09/22 PHP
PHP unset函数原理及使用方法解析
2020/08/14 PHP
javascript实现跳转菜单的具体方法
2013/07/05 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
JS实现弹性菜单效果代码
2015/09/07 Javascript
bootstrap table小案例
2016/10/21 Javascript
JavaScript实现审核流程状态的动态显示进度条
2017/03/15 Javascript
jQuery实现下拉菜单的实例代码
2017/06/19 jQuery
JS动态添加元素及绑定事件造成程序重复执行解决
2017/12/07 Javascript
vue中使用better-scroll实现滑动效果及注意事项
2018/11/15 Javascript
微信提示 在浏览器打开 效果实现过程解析
2019/09/10 Javascript
微信小程序文章列表功能完整实例
2020/06/03 Javascript
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
2020/09/16 Javascript
swiperjs实现导航与tab页的联动
2020/12/13 Javascript
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
完美解决python中ndarray 默认用科学计数法显示的问题
2018/07/14 Python
详解如何设置Python环境变量?
2019/05/13 Python
用Python从0开始实现一个中文拼音输入法的思路详解
2019/07/20 Python
python opencv 简单阈值算法的实现
2019/08/04 Python
python检测服务器端口代码实例
2019/08/31 Python
Django models文件模型变更错误解决
2020/05/11 Python
Python3 requests模块如何模仿浏览器及代理
2020/06/15 Python
欧洲领先的技术商店:eibmarkt.com
2019/05/10 全球购物
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
如何实现jdbc性能优化
2012/07/30 面试题
《二泉映月》教学反思
2014/04/15 职场文书
《猴子种果树》教学反思
2014/04/26 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
后进基层党组织整改方案
2014/10/25 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
运动会开幕式通讯稿
2015/07/18 职场文书
带你彻底理解JavaScript中的原型对象
2021/04/14 Javascript
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS
解析python中的jsonpath 提取器
2022/01/18 Python