php在foreach循环后留下数组的引用问题
程序员文章站
2022-03-26 18:14:00
...
本篇文章介绍的内容是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 foreach循环中使用引用的问题
-
[PHP] foreach循环的引用赋值可能导致的问题
-
PHP foreach数组循环的一些问题
-
PHP foreach数组循环的一些问题
-
PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么?,PHP
-
php foreach循环中使用引用的问题
-
php foreach中赋值 循环完成后 这个在数组内新赋值的变量就消失了么?
-
php foreach循环中使用引用的问题
-
PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么? c# foreach javascript foreach c foreach
-
php foreach中赋值 循环完成后 这个在数组内新赋值的变量就消失了么?