PHP二維數組是由多個一維數組組成的數組,其中每個一維數組都包含多個元素。在處理這樣的陣列時,有時我們需要修改二維數組中的鍵(key),以滿足我們的業務需求。本篇文章將會介紹修改PHP二維數組中鍵的方法。
一、修改所有子數組的指定鍵
有時候,我們需要將二維數組中所有子數組的指定鍵都修改成一個新鍵名,可以使用array_map函數來實現。 array_map函數,可以將自訂的函數作用於陣列的每個元素上。
下面是程式碼範例:
function changeKey($arr, $oldkey, $newkey){ if(!is_array($arr)){ return $arr; } $result = array(); foreach($arr as $key=>$val){ if(is_array($val)){ $result[$key] = changeKey($val, $oldkey, $newkey); } else { $result[$key] = $val; if($key == $oldkey){ $result[$newkey] = $val; unset($result[$oldkey]); } } } return $result; } $oldArray = array( array('id'=>1, 'name'=>'php', 'type'=>'backend'), array('id'=>2, 'name'=>'js', 'type'=>'frontend') ); $newArray = array_map(function($arr){ return changeKey($arr, 'type', 'category'); }, $oldArray); print_r($newArray);
上面的程式碼,將$oldArray中的所有子陣列中的'type'鍵改為'category'鍵。輸出結果如下:
Array ( [0] => Array ( [id] => 1 [name] => php [category] => backend ) [1] => Array ( [id] => 2 [name] => js [category] => frontend ) )
二、修改指定子數組的指定鍵
有時候,我們只需要修改二維數組中某個子數組的指定鍵,可以透過直接修改該子數組來實現。以下是程式碼範例:
$oldArray = array( array('id'=>1, 'name'=>'php', 'type'=>'backend'), array('id'=>2, 'name'=>'js', 'type'=>'frontend') ); foreach($oldArray as &$arr){ if($arr['id'] == 1){ $arr['type'] = 'server side'; } } print_r($oldArray);
上面的程式碼,將$oldArray中$id為1的子陣列的'type'鍵改為'server side'。輸出結果如下:
Array ( [0] => Array ( [id] => 1 [name] => php [type] => server side ) [1] => Array ( [id] => 2 [name] => js [type] => frontend ) )
三、結語
PHP二維數組是PHP大量使用的資料結構之一,掌握了修改PHP二維數組中鍵的方法,可以方便地進行數據處理。本篇文章透過實例來介紹了兩種修改PHP二維數組中鍵的方法,希望對大家有幫助。
以上是聊聊修改PHP二維數組中鍵的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!