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 相关文章推荐
用DBSQL类加快开发MySQL数据库程序的速度
Oct 09 PHP
php 静态变量与自定义常量的使用方法
Jan 26 PHP
php expects parameter 1 to be resource, array given 错误
Mar 23 PHP
win7+apache+php+mysql环境配置操作详解
Jun 10 PHP
PHP设计模式之迭代器模式的深入解析
Jun 13 PHP
php绘图之生成饼状图的方法
Jan 24 PHP
PHP面向对象之后期静态绑定功能介绍
May 18 PHP
PHP QRCODE生成彩色二维码的方法
May 19 PHP
PHP 二级子目录(后台目录)设置二级域名
Mar 02 PHP
PHP面向对象中new self()与 new static()的区别浅析
Aug 17 PHP
Django中通过定时任务触发页面静态化的处理方式
Aug 29 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
Jan 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
PHP Ajax实现页面无刷新发表评论
2007/01/02 PHP
PHP获取不了React Native Fecth参数的解决办法
2016/08/26 PHP
php实现session共享的实例方法
2019/09/19 PHP
JQuery中根据属性或属性值获得元素(6种情况获取方法)
2013/01/17 Javascript
from 表单提交返回值用post或者是get方法实现
2013/08/21 Javascript
Javascript 构造函数详解
2014/10/22 Javascript
JavaScript数组随机排列实现随机洗牌功能
2015/03/19 Javascript
angularjs 源码解析之scope
2016/08/22 Javascript
PHP实现记录代码运行时间封装类实例教程
2017/05/08 Javascript
JavaScript严格模式下关于this的几种指向详解
2017/07/12 Javascript
jQuery插件artDialog.js使用与关闭方法示例
2017/10/09 jQuery
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
vue filters的使用详解
2018/06/11 Javascript
JS Generator 函数的含义与用法实例总结
2020/04/08 Javascript
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
pyautogui自动化控制鼠标和键盘操作的步骤
2020/04/01 Python
python 多线程死锁问题的解决方案
2020/08/25 Python
HTML5调用手机摄像头拍照的实现思路及代码
2014/06/15 HTML / CSS
HTML5 层的叠加的实现
2020/07/07 HTML / CSS
安全生产检讨书
2014/01/21 职场文书
抄作业检讨书
2014/02/17 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
作风建设剖析材料
2014/10/06 职场文书
先进个人材料怎么写
2014/12/30 职场文书
接待员岗位职责
2015/02/13 职场文书
2015年项目工作总结
2015/04/29 职场文书
研究生论文答辩开场白
2015/05/27 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
教你使用pyinstaller打包Python教程
2021/05/27 Python
利用 Python 的 Pandas和 NumPy 库来清理数据
2022/04/13 Python
Golang 入门 之url 包
2022/05/04 Golang
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python