本文主要和大家分享PHP中foreach引用傳地址,搞清楚這個問題 需要三點知識,希望能幫助到大家。
1 php的普通賦值與引用賦值
變數名稱儲存在記憶體堆疊,它是指向堆疊中特定記憶體的位址,透過變數名稱尋找堆疊中的記憶體;
普通傳值,傳值以後,是不同的位址名稱,指向不同的記憶體實體;
引用傳值,傳引用後,是不同的位址名稱,但都指向同一個記憶體實體;
引用傳值,傳引用後,是不同的位址名稱,但都指向同一個記憶體實體;改變其中一個,另外一個就也被改變;
大概就是這個關係吧 具體可以看看這個 https://www.cnblogs.com/mushan/p /4330386.html
2 變數的作用域
3 foreach $arr = array(1,2,3); foreach($arr as &$v){} $v 变量未销毁 $arr[2] 与 $v保持索引关系(数组组后一个元素) foreach ($arr as $v){} $v 每次获得新值 $arr=array(1,2,&$v); $v=1 数组为 array(1,2,1); $arr=array(1,2,&$v); $v=2 数组为 array(1,2,2); 第三次遍历数组为 array(1,2,2); 所以结果为 array(1,2,2);
以上是PHPforeach中引用傳地址的詳細內容。更多資訊請關注PHP中文網其他相關文章!