Rumah > pembangunan bahagian belakang > tutorial php > php在foreach循环后留下数组的引用问题

php在foreach循环后留下数组的引用问题

不言
Lepaskan: 2023-03-23 17:44:01
asal
2241 orang telah melayarinya

本篇文章介绍的内容是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使用&引用后的异常处理

foreach与正常for循环效率之间解析

Atas ialah kandungan terperinci php在foreach循环后留下数组的引用问题. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan