如何解决php在foreach循环后留下的数组引用问题

不言
发布: 2023-04-02 22:46:01
原创
1728 人浏览过

这篇文章主要介绍了关于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管道插件 League\Pipeline的解析

如何使用PHP实现同时上传多视频的功能

以上是如何解决php在foreach循环后留下的数组引用问题的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!