foreach中引用 的問題

2022-03-10 22:53:30 字數 750 閱讀 8644

在工作中遇到 關於 php foreach 引用的乙個問題

簡單來說,如下**

$arr=array('a','b','c' ,'d');

foreach($arr

as$k=>&$v)

foreach($arr

as$k=>$v)

print_r($arr);

結果是 ab

cc參考了 這篇文章,以及 這篇文章

在第一次foreach 遍歷結束後,$v的值為'd',對應的key為3,注意這裡$v使用的是引用 

在第二次foreach 遍歷第乙個元素時,$v='a' ,那麼根據引用 ,$arr[3]='a' 

此時,$arr的值為 

0 a1 b

2 c3 a

遍歷第二個元素時,$v='b' , 那麼根據引用 ,$arr[3]='b'

此時,$arr的值為 

0 a1 b

2 c3 b

遍歷第三個元素時,$v='c' , 那麼根據引用 ,$arr[3]='c'

此時,$arr的值為 

0 a1 b

2 c3 c

遍歷第三個元素時,$v='c' , 那麼根據引用 ,$arr[3]='c'

此時,$arr的值為 ,跟上面的沒有變化

0 a1 b

2 c3 c

解決方法:

在第乙個foreach之後,加上unset($v);

php中foreach與引用的乙個問題。。

ar array 1 2,3 var dump ar foreach aras v foreach ar as v var dump ar array 3 array 3 在執行第乙個使用引用的 foreach 時,一開始,v 指向 ar 0 的儲存空間,空間內儲存著 1 foreach 結束時,v...

foreach裡的按引用傳值問題

1.foreach arr as k v 這樣迴圈時候最後乙個結果前邊會有 出現輸出不了的情況,這時候只需要加乙個unset v 加在迴圈裡和外均可。2.監聽input框的輸入變化 aaa bind input propertychange function 3.js陣列只可定義索引陣列,實際上無 ...

foreach之引用 的使用

廢話不說,上 arrayname array 0 array 1 houzi 2 xiaogou 1 array 2 houzi 3 xiaogou var dump arrayname foreach arrayname as key value var dump arrayname exit 結...