在工作中遇到 關於 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 結...