Rumah > pembangunan bahagian belakang > masalah PHP > Tukar nama kunci tatasusunan php

Tukar nama kunci tatasusunan php

WBOY
Lepaskan: 2023-05-07 16:09:09
asal
886 orang telah melayarinya

Dalam PHP, kadangkala kita perlu mengubah suai nama kunci dalam tatasusunan. Sebagai contoh, apabila kami mendapat data daripada pangkalan data, nama kunci yang kami dapat mungkin tidak seperti yang kami mahukan, dan kami perlu menukarnya kepada nama kunci yang kami perlukan. Artikel ini memperkenalkan beberapa cara untuk menukar nama utama tatasusunan PHP.

1. Gunakan fungsi array_combine

Fungsi array_combine boleh menggabungkan dua tatasusunan menjadi satu tatasusunan Nilai tatasusunan pertama digunakan sebagai nama kunci tatasusunan baharu dan nilai tatasusunan kedua digunakan sebagai nama kunci tatasusunan baharu Nilai kunci tatasusunan baharu adalah seperti berikut:

$new_keys = array('a', 'b', 'c');
$old_keys = array('1', '2', '3');
$old_values = array('one', 'two', 'three');

$associative_array = array_combine($new_keys, $old_values);
print_r($associative_array);
Salin selepas log masuk

Hasil output adalah seperti berikut:

Array
(
    [a] => one
    [b] => two
    [c] => three
)
Salin selepas log masuk

Gunakan fungsi array_combine. untuk meletakkan nama kunci baharu dahulu ke dalam tatasusunan, dan kemudian gunakan nama kunci lama dan Nilai kunci menjana tatasusunan bersekutu, dan akhirnya fungsi array_combine digunakan untuk menggabungkan dua tatasusunan untuk melengkapkan pengubahsuaian nama kunci.

2. Gunakan fungsi array_map

Fungsi peta_susun boleh menggunakan fungsi panggil balik pada setiap elemen dalam tatasusunan dan menggantikan elemen yang sepadan dalam tatasusunan asal dengan nilai pulangan fungsi panggil balik . Kerana fungsi panggil balik hanya akan mengubah suai nilai dan bukan nama kunci, kita boleh menggunakan fungsi array_map untuk mengubah suai nama kunci. Berikut ialah contoh menggunakan fungsi array_map untuk mengubah suai nama kunci:

$old_array = array(
    'firstname' => 'Tom',
    'lastname' => 'Hanks'
);

$new_array = array_map(function($value) {
    return str_replace('name', 'label', $value);
}, $old_array);

print_r($new_array);
Salin selepas log masuk

Hasil output adalah seperti berikut:

Array
(
    [firstlabel] => Tom
    [lastlabel] => Hanks
)
Salin selepas log masuk

Dalam contoh ini, kami menggunakan fungsi tanpa nama sebagai fungsi panggil balik untuk menukar nama kunci asal "nama" dalam digantikan dengan "label", dan nama kunci yang diubah suai diperolehi.

3. Gunakan gelung foreach

Gunakan gelung foreach untuk melintasi tatasusunan, dan gunakan fungsi tidak ditetapkan dan nama kunci baharu dalam gelung untuk menetapkan semula elemen . Berikut ialah contoh menggunakan gelung foreach untuk mengubah suai nama kunci:

$old_array = array(
    'name' => 'Tom',
    'gender' => 'male',
    'age' => 30
);

$new_array = array();
foreach($old_array as $key => $val) {
    if($key == 'name') {
        $new_array['fullname'] = $val;
    } else {
        $new_array[$key] = $val;
    }
}

print_r($new_array);
Salin selepas log masuk

Output adalah seperti berikut:

Array
(
    [fullname] => Tom
    [gender] => male
    [age] => 30
)
Salin selepas log masuk

Dalam contoh ini, kita mula-mula mentakrifkan tatasusunan kosong baharu $new_array. Kemudian lelaran melalui semua elemen dalam tatasusunan lama, dan jika nama kunci ialah "nama", tetapkan semula kepada "nama penuh", jika tidak tambahkan elemen terus ke tatasusunan baharu. Akhirnya mendapat tatasusunan yang diubah suai.

Ringkasnya, kita boleh menggunakan fungsi array_combine, fungsi array_map atau gelung foreach untuk mengubah suai nama kunci dalam tatasusunan PHP. Setiap kaedah mempunyai senario dan ciri yang berkenaan. Kita boleh memilih satu atau lebih kaedah ini untuk mengubah suai nama kunci mengikut keperluan sebenar.

Atas ialah kandungan terperinci Tukar nama kunci tatasusunan 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