php改變關聯數組的方法:1、建立一個中間臨時數組,然後透過遍歷賦值實現修改;2、使用回調函數array_map()修改數組;3、使用foreach語句修改數組。
本文操作環境:Windows7系統、PHP7.1版、DELL G3電腦
php 怎麼更改關聯陣列?
php修改關聯數組
有以下需求,遍歷數組並且對數組的值做出相應改變,例如,全部設為0;
如果陣列全部都是索引陣列就好辦了,直接用for()邊遍歷邊修改。
但如果是關聯數組就蛋疼,遍歷索引數組就要用foreach,但是foreach是唯讀的,就是說,無法做出修改。
現在有三種辦法:
1、做一個中間暫存陣列:temp = array()。然後就是邊遍歷邊賦值進去。
2、用回呼函數array_map()
#範例:
$arr = array_map(function($p) {return 0;}, $arr); //p代表了元素的值,一个一个来
這樣就可以全部設定'了。
或:
array_walk($arr, function(&$value, $key) { $value = 0; });
上述兩種方法都是在原來陣列修改,不產生新陣列
第三種,也是最簡單的方法:
foreach($arr as $k => &$v) { $v = 0; }
注意:不要企圖改變鍵值,鍵值不能是引用
推薦學習:《PHP影片教學》
以上是php 怎麼更改關聯數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!