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 相关文章推荐
基于mysql的论坛(4)
Oct 09 PHP
一个简单的PHP投票程序源码
Mar 11 PHP
php去除重复字的实现代码
Sep 16 PHP
分割GBK中文遭遇乱码的解决方法
Aug 09 PHP
php session劫持和防范的方法
Nov 12 PHP
Codeigniter校验ip地址的方法
Mar 21 PHP
php限制ip地址范围的方法
Mar 31 PHP
PHP中的类型约束介绍
May 11 PHP
浅析PHP中Session可能会引起并发问题
Jul 23 PHP
PHP接收App端发送文件流的方法
Sep 23 PHP
PHP简单预防sql注入的方法
Sep 27 PHP
Laravel框架下的Contracts契约详解
Mar 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
PHP网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
php实现每天自动变换随机问候语的方法
2015/05/12 PHP
PHP基于curl模拟post提交json数据示例
2018/06/22 PHP
thinkphp5 模型实例化获得数据对象的教程
2019/10/18 PHP
16个最流行的JavaScript框架[推荐]
2011/05/29 Javascript
Fastest way to build an HTML string(拼装html字符串的最快方法)
2011/08/20 Javascript
namespace.js Javascript的命名空间库
2011/10/11 Javascript
jquery实现select选中行、列合计示例
2014/04/25 Javascript
js实现透明度渐变效果的方法
2015/04/10 Javascript
JavaScript实现自动变换表格边框颜色
2015/05/08 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
vue监听scroll的坑的解决方法
2017/09/07 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
微信小程序实现省市区三级地址选择
2020/06/21 Javascript
selenium+java中用js来完成日期的修改
2019/10/31 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
2020/03/10 Javascript
Vue js with语句原理及用法解析
2020/09/03 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
2020/09/17 Javascript
python学习基础之循环import及import过程
2018/04/22 Python
如何使用Python标准库进行性能测试
2019/06/25 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
浅析Python中字符串的intern机制
2020/10/03 Python
详解CSS3中强大的filter(滤镜)属性
2017/06/29 HTML / CSS
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
Sephora丝芙兰泰国官方网站:国际知名化妆品购物
2017/11/15 全球购物
StubHub希腊:购买体育赛事、音乐会和剧院门票
2019/08/03 全球购物
党的群众路线教育实践活动领导班子整改措施
2014/09/30 职场文书
迟到检讨书2000字(精选篇)
2014/10/07 职场文书
个人查摆问题自查报告
2014/10/16 职场文书
党员公开承诺书2015
2015/01/21 职场文书
党支部鉴定意见
2015/06/02 职场文书
开网店计划分析
2019/07/30 职场文书
node.js如何自定义实现一个EventEmitter
2021/07/16 Javascript
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技