如何解决php在foreach循环后留下的数组引用问题
内容导读
收集整理的这篇技术教程文章主要介绍了如何解决php在foreach循环后留下的数组引用问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含908字,纯文字阅读大概需要2分钟。
内容图文
这篇文章主要介绍了关于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中文网!
相关推荐:
关于PHP管道插件 LeaguePipeline的解析
如何使用PHP实现同时上传多视频的功能
以上就是如何解决php在foreach循环后留下的数组引用问题的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的如何解决php在foreach循环后留下的数组引用问题全部内容,希望文章能够帮你解决如何解决php在foreach循环后留下的数组引用问题所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。