PHP中for循环与foreach的区别

yipeiwu_com7年前PHP代码库

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的时候会锁定集合中的对象.期间不能修改.

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持【宜配屋www.yipeiwu.com】!

相关文章

php若干单维数组遍历方法的比较

复制代码 代码如下: <?php //a $arr=array('a'=>'abc','b'=>123,'c'=>true); //b //$arr=range(...

PHP与javascript实现变量交互的示例代码

本例是PHP和javascript交互的例子,php中的值赋给js变量中,前提是这个php变量必须有值才行,就算是假分支中。比如php中的$flags在本例中为true,如果js中fal...

drupal 代码实现URL重写

以下是实现例子: 复制代码 代码如下: /* * 伪地址转原地址 (url_alter) */ function example_url_inbound_alter(&$path, $o...

php中foreach结合curl实现多线程的方法分析

本文实例讲述了php中foreach结合curl实现多线程的方法。分享给大家供大家参考,具体如下: 多线程是php不支持的但我们可以通过foreach来伪多线程了,但这个伪多线程速度不一...

深入理解require与require_once与include以及include_once的区别

PHP具有快速、可靠、跨平台应用、源代码开放等特点,使得PHP成为最受欢迎的服务器端Script语言之一。我根据自己在工作中体会到的,向大家介绍PHP使用的心得,希望对大家有所帮助。 利...