首頁 >後端開發 >php教程 >PHPforeach中引用傳地址

PHPforeach中引用傳地址

小云云
小云云原創
2018-03-22 14:14:503215瀏覽

本文主要和大家分享PHP中foreach引用傳地址,搞清楚這個問題 需要三點知識,希望能幫助到大家。

1  php的普通賦值與引用賦值

變數名稱儲存在記憶體堆疊,它是指向堆疊中特定記憶體的位址,透過變數名稱尋找堆疊中的記憶體;

普通傳值,傳值以後,是不同的位址名稱,指向不同的記憶體實體;

引用傳值,傳引用後,是不同的位址名稱,但都指向同一個記憶體實體;

引用傳值,傳引用後,是不同的位址名稱,但都指向同一個記憶體實體;改變其中一個,另外一個就也被改變;

大概就是這個關係吧   具體可以看​​看這個   https://www.cnblogs.com/mushan/p /4330386.html
     

2  變數的作用域

在所有函數外部定義的變量,擁有全域作用域global;在函數內部定義的變數用於局部作用域local。全域變數可以被腳本的任何位置訪問,但在函數內部訪問全域變數要使用global關鍵字。而局部變數只能在函數內部進行存取。 ######
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中文網其他相關文章!

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