码迷,mamicode.com
首页 > Web开发 > 详细

php foreach 遍历细节探讨

时间:2016-06-23 11:05:12      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:

  • foreach 也是正常的语法循环结构,可以有 break 和 continue 等操作
  • 遍历过程中值变量传递默认是值传递

技术分享

输出结果为:

技术分享

  • 遍历过程中值变量可以认为设定为引用传递:foreach($数组名 as $key => & $value){...}

见演示

技术分享

 

 输出结果为:

技术分享

这里需要注意的是:值变量$value可以使用引用传递,但是$key不可以使用引用传递,如果使用则会报错。

  • foreach 默认是原数组上进行遍历,但是如果在遍历过程中进行了某种修改或某种指针操作,则会复制数组后在复制后的数组继续遍历循环(原数组保持不变)

以下演示foreach默认是在原数组上进行遍历的效果:

技术分享

可见,此时数组的指针因为遍历中途退出,就停在了第三项。

然后继续演示在某些情况下(修改或指针错作),不是在原数组上进行遍历

技术分享

  • foreach中如果值变量是引用传递,则无论如何都是在修改后的数组上进行

技术分享

 

 

 

  

 

php foreach 遍历细节探讨

标签:

原文地址:http://www.cnblogs.com/bc8web/p/5609871.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!