php在foreach循环后留下数组的引用问题
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循环后留下数组的引用问题相关推荐
- php if foreach个数记录,php foreach循环只返回数组中第一次迭代的值
我似乎无法确定为什么我的foreach循环能够循环所有5个生成的ProductionOrderID,但只返回第一个ID的数据. 我的理解是数组正确循环,因为你可以在这里看到当前结果:https://i ...
- c#foreach循环_C#| 使用foreach循环打印整数数组
c#foreach循环 Given an integer array and we have to print its elements using "foreach loop" ...
- foreach 循环达到条件的第一次就停止_是否应该停止在JavaScript代码中使用forEach()?...
在本文中,我想概述一下标准的 for 循环和 forEach() 方法背后的区别,并对它们各自带来的一些好处进行评论. 作为免责声明,请不要把标题当真.我写这篇文章的目的是为了让读者了解缺点,并提供一 ...
- Java中foreach循环两种实现原理
一.foreach循环Iterator模式 首先我们看一个foreach循环的main方法 import java.util.Collections; import java.util.List; i ...
- foreach循环详细篇
Java SE5引入了一种更加简洁的 for 语法用于数组 和 容器,即 foreach语法,表示不必创建int变量去对由访问项构成的序列进行计数,foreach将自动产生每一项. foreach 循 ...
- java双重for循环流程图_java 流程执行 循环 foreach循环
一. if分支 1. 结构 if else if else 2.执行原则 if if if 结构 会一直去执行()里的判断语句 if else if else if 结构 只要一条( ...
- C# foreach循环较for循环的优势与劣势
一.foreach循环的优势 C#支持foreach关键字,foreach在处理集合和数组相对于for存在以下几个优势: 1.foreach语句简洁 2.效率比for要高(C#是强类型检查,for循环 ...
- java for in 循环_js的for in循环和java里foreach循环的区别分析
本文实例分析了js的for in循环和java里foreach循环的区别.分享给大家供大家参考.具体分析如下: js里的for in循环定义如下: for(var variable in obj) { ...
- for循环,for...in循环,forEach循环的区别
for循环,for-in循环和forEach循环都是JavaScript中常用的循环方式,它们每种都有着自己的独特之处,接下来我们分析一下for循环,for-in循环和forEach循环的区别. ...
最新文章
- 20172328 2018-2019《Java软件结构与数据结构》第八周学习总结
- AAuto如何发布EXE文件
- Clang-Format: Visual Studio Style
- 计算机界名人榜-----约翰·冯·诺依曼
- 虚拟化技术—docker容器—私有库篇
- 作为程序员,你吃过哪些数学的亏?
- 将历史、数学、语文、地理、政治知识融会贯通的诀窍就是它
- es实现近实时搜索推荐的两种方式
- redis rua解决库存问题_库存秒杀问题-redis解决方案- 接口限流
- JS, CSS 文件压缩与反压缩工具
- Ajax.dll 使用
- 巧用G6FTPServer账号***台湾某图书服务器
- DOM操作style样式——link、style、p style=''的区别
- 如何通过站群提高网站曝光率
- python 爬手机号_【Python爬虫】手机号网段爬虫
- 在Word中快速插入分隔线
- linux基本命令总结
- CSU1256(天朝的单行道)
- Java 实战:桌球小游戏
- CDA二级易错点总结