首頁  >  文章  >  後端開發  >  如何解決php在foreach循環後留下的數組引用問題

如何解決php在foreach循環後留下的數組引用問題

不言
不言原創
2018-07-10 16:36:521730瀏覽

這篇文章主要介紹了關於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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn