首頁 >後端開發 >PHP問題 >聊聊修改PHP二維數組中鍵的方法

聊聊修改PHP二維數組中鍵的方法

PHPz
PHPz原創
2023-04-20 09:10:00759瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn