您现在的位置是:首页 >  编程分享 > PHP丨JAVA丨OTHERPHP丨JAVA丨OTHER

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

昧光 推荐 转载 编程分享 2018-12-30

简介 php在foreach循环后留下数组的引用问题,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下


这篇文章主要介绍了关于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中文网!

相关推荐:


原地址:http://www.php.cn//php-weizijiaocheng-406351.html

Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论



ABOUT ME

Name:袅袅牧童 | Arkin

Job:Web全栈技术工程师

WeChat:nnmutong

Email:nnmutong@icloud.com

最新评论

标签云