eg:

result:

解释:

1.foreach不是块级域,数组引用结束,$k,$a没有释放内存

2.当第一次引用循环结束的时候,$a指向数组最后一个元素4

3.当第二次开始循环 (此时$a已经是指向最后一个元素,是引用)

循环4次  数组的变化分别是:

1->    [1,2,3,4]

2->    [1,2,3,4]

3->    [1,2,3,3]     第三次value指向最后一个元素3    但是value是全局引用在上次循环指向了最后一个元素  所以value=3的时候 也会把最后一个元素的值改为3

4->    [1,2,3,3]

注意事项:

1.foreach 实现原理有个内部指针的概念

2.&的foreach循环结束   指针会指向最后一个元素

如何避免:

在用&foreach循环后  unset  ($a)

php在foreach循环后留下数组的引用问题相关推荐

  1. php if foreach个数记录,php foreach循环只返回数组中第一次迭代的值

    我似乎无法确定为什么我的foreach循环能够循环所有5个生成的ProductionOrderID,但只返回第一个ID的数据. 我的理解是数组正确循环,因为你可以在这里看到当前结果:https://i ...

  2. c#foreach循环_C#| 使用foreach循环打印整数数组

    c#foreach循环 Given an integer array and we have to print its elements using "foreach loop" ...

  3. foreach 循环达到条件的第一次就停止_是否应该停止在JavaScript代码中使用forEach()?...

    在本文中,我想概述一下标准的 for 循环和 forEach() 方法背后的区别,并对它们各自带来的一些好处进行评论. 作为免责声明,请不要把标题当真.我写这篇文章的目的是为了让读者了解缺点,并提供一 ...

  4. Java中foreach循环两种实现原理

    一.foreach循环Iterator模式 首先我们看一个foreach循环的main方法 import java.util.Collections; import java.util.List; i ...

  5. foreach循环详细篇

    Java SE5引入了一种更加简洁的 for 语法用于数组 和 容器,即 foreach语法,表示不必创建int变量去对由访问项构成的序列进行计数,foreach将自动产生每一项. foreach 循 ...

  6. java双重for循环流程图_java 流程执行 循环 foreach循环

    一. if分支 1. 结构  if  else if   else 2.执行原则 if  if  if 结构  会一直去执行()里的判断语句 if else if  else if 结构  只要一条( ...

  7. C# foreach循环较for循环的优势与劣势

    一.foreach循环的优势 C#支持foreach关键字,foreach在处理集合和数组相对于for存在以下几个优势: 1.foreach语句简洁 2.效率比for要高(C#是强类型检查,for循环 ...

  8. java for in 循环_js的for in循环和java里foreach循环的区别分析

    本文实例分析了js的for in循环和java里foreach循环的区别.分享给大家供大家参考.具体分析如下: js里的for in循环定义如下: for(var variable in obj) { ...

  9. for循环,for...in循环,forEach循环的区别

      for循环,for-in循环和forEach循环都是JavaScript中常用的循环方式,它们每种都有着自己的独特之处,接下来我们分析一下for循环,for-in循环和forEach循环的区别. ...

最新文章

  1. 20172328 2018-2019《Java软件结构与数据结构》第八周学习总结
  2. AAuto如何发布EXE文件
  3. Clang-Format: Visual Studio Style
  4. 计算机界名人榜-----约翰·冯·诺依曼
  5. 虚拟化技术—docker容器—私有库篇
  6. 作为程序员,你吃过哪些数学的亏?
  7. 将历史、数学、语文、地理、政治知识融会贯通的诀窍就是它
  8. es实现近实时搜索推荐的两种方式
  9. redis rua解决库存问题_库存秒杀问题-redis解决方案- 接口限流
  10. JS, CSS 文件压缩与反压缩工具
  11. Ajax.dll 使用
  12. 巧用G6FTPServer账号***台湾某图书服务器
  13. DOM操作style样式——link、style、p style=''的区别
  14. 如何通过站群提高网站曝光率
  15. python 爬手机号_【Python爬虫】手机号网段爬虫
  16. 在Word中快速插入分隔线
  17. linux基本命令总结
  18. CSU1256(天朝的单行道)
  19. Java 实战:桌球小游戏
  20. CDA二级易错点总结

热门文章

  1. PHP实现阿拉伯数字转中文大写
  2. 火鸟门户v4.0 2019全能地方门户系统源码
  3. MQ延迟队列实现延迟消息
  4. 65536以内的阿姆斯特朗数
  5. 计算机无法读取内存,图文教你如何修复电脑无法识别读取的U盘(SD卡)!-内存卡在电脑上读不出来怎么办...
  6. AI为职业病做了啥贡献,了解一下
  7. 接手了屎一样的代码 怎么办?
  8. 班级分组小程序-列表
  9. 实现微信小程序picker 省市区 自定义数据 支持三级联动
  10. 【OpenCV 学习笔记】第二十章: 角点检测之:harris算法以及Shi-Tomasi算法