Rumah > pembangunan bahagian belakang > masalah PHP > Mari kita bincangkan tentang cara mengubah suai kunci dalam tatasusunan dua dimensi dalam PHP

Mari kita bincangkan tentang cara mengubah suai kunci dalam tatasusunan dua dimensi dalam PHP

PHPz
Lepaskan: 2023-04-20 09:40:19
asal
747 orang telah melayarinya

Tatasusunan dua dimensi PHP ialah tatasusunan yang terdiri daripada tatasusunan berbilang satu dimensi, di mana setiap tatasusunan satu dimensi mengandungi berbilang elemen. Apabila memproses tatasusunan sedemikian, kadangkala kami perlu mengubah suai kunci dalam tatasusunan dua dimensi untuk memenuhi keperluan perniagaan kami. Artikel ini akan memperkenalkan cara mengubah suai kunci dalam tatasusunan dua dimensi dalam PHP.

1. Ubah suai kunci yang ditentukan bagi semua sub-tatasusunan

Kadangkala, kita perlu mengubah suai kunci yang ditentukan bagi semua sub-tatasusunan dalam tatasusunan dua dimensi kepada nama kunci yang baharu boleh menggunakan fungsi array_map untuk melakukan ini. Fungsi array_map boleh menggunakan fungsi tersuai untuk setiap elemen tatasusunan.

Berikut ialah contoh kod:

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);
Salin selepas log masuk

Kod di atas menukar kekunci 'type' dalam semua sub-array dalam $oldArray kepada kekunci 'category'. Keputusan output adalah seperti berikut:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => php
            [category] => backend
        )

    [1] => Array
        (
            [id] => 2
            [name] => js
            [category] => frontend
        )

)
Salin selepas log masuk

2. Ubah suai kunci yang ditentukan bagi sub-tatasusunan yang ditentukan

Kadangkala, kita hanya perlu mengubah suai kunci yang ditentukan bagi sub-tatasusunan tertentu dalam tatasusunan dua dimensi, yang boleh diubah suai secara langsung Subarray ini dilaksanakan. Berikut ialah contoh kod:

$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);
Salin selepas log masuk

Kod di atas menukar kekunci 'jenis' subarray dengan $id 1 dalam $oldArray kepada 'sebelah pelayan'. Hasil keluaran adalah seperti berikut:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => php
            [type] => server side
        )

    [1] => Array
        (
            [id] => 2
            [name] => js
            [type] => frontend
        )

)
Salin selepas log masuk

3. Kesimpulan

tatasusunan dua dimensi PHP adalah salah satu struktur data yang digunakan secara meluas dalam PHP tatasusunan dua dimensi boleh memudahkan pemprosesan data. Artikel ini memperkenalkan dua kaedah mengubah suai kunci dalam tatasusunan dua dimensi PHP melalui contoh.

Atas ialah kandungan terperinci Mari kita bincangkan tentang cara mengubah suai kunci dalam tatasusunan dua dimensi dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan