如果我要改變數組某一個值直接遍歷的話原數組是不會變的下面提供兩種方法
1.我們可以遍歷的時候組合數據然後array_push()把數據賦給另一個新的陣列這樣才可以如:
$data=array(1,2,3,4); $newdata=array(); foreach($data as $k=>$v){ if($v==2) $v=666;//我们想把值等于2的改为666 这样的话在内部改变了$v但是$data还是没改变 array_push($newdata,$v);//这样可以得到我们想要的数组 }
2.我們可以在遍歷的值前面加個&符號這樣就可以改變原數組了不需要用array_push()了
$data=array(1,2,3,4); foreach($data as &$v){ if($v==2) $v=666;//因为$v前面加了'&'所以原数组就直接改变了 }
相關推薦:
如何理解PHP中for與foreach兩個循環結構遍歷數組的區別
以上是PHP中foreach加&遍歷的同時改變原數組的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!