Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php menggantikan kunci tatasusunan

php menggantikan kunci tatasusunan

王林
王林asal
2023-05-06 12:07:121974semak imbas

PHP ialah bahasa pengaturcaraan yang sangat popular dan digunakan secara meluas dalam pembangunan web, pembangunan aplikasi dan bidang lain. Dalam pembangunan PHP, tatasusunan ialah struktur data biasa yang boleh menyimpan satu set data dan menyediakan kaedah operasi yang fleksibel. Walau bagaimanapun, dalam pembangunan sebenar, kadangkala kita perlu menggantikan kunci tatasusunan Artikel ini akan memperkenalkan cara menggantikan kunci tatasusunan PHP.

1. Gunakan fungsi array_map

Fungsi array_map ialah fungsi yang sangat berguna dalam PHP. Ia boleh menggunakan fungsi panggil balik pada setiap elemen dalam tatasusunan. Apabila anda menghantar berbilang tatasusunan kepada fungsi tatasusunan_map, ia melelar melaluinya mengikut susunan tatasusunan dan menghantar elemen pada kedudukan indeks yang sama dalam setiap tatasusunan kepada fungsi panggil balik. Oleh itu, kita boleh menggunakan fungsi array_map untuk menggantikan kekunci tatasusunan Kod khusus adalah seperti berikut:

<?php
$new_array = array_combine(array_map(function ($key) {
    return str_replace('_', '-', $key);
}, array_keys($old_array)), array_values($old_array));
?>

Dalam kod di atas, kita mula-mula menggunakan fungsi array_keys untuk mendapatkan kunci tatasusunan asal, dan kemudian lulus setiap kekunci melalui fungsi panggil balik ganti. Di sini kami menggunakan fungsi tanpa nama yang menerima parameter $key dan menggantikan garis bawah dalam $key dengan sempang. Selepas itu, kami menggunakan fungsi array_combine untuk menggabungkan kekunci yang diganti dengan nilai tatasusunan asal ke dalam tatasusunan baharu.

2. Gunakan gelung foreach

Selain menggunakan fungsi array_map, kita juga boleh menggunakan gelung foreach untuk menggantikan kekunci. Apabila merentasi tatasusunan asal, kita boleh menggunakan nilai utama tatasusunan asal sebagai kunci tatasusunan baharu, dan nilai tatasusunan asal sebagai nilai tatasusunan baharu. Kod khusus adalah seperti berikut:

<?php
$new_array = array();
foreach ($old_array as $key => $value) {
    $new_key = str_replace('_', '-', $key);
    $new_array[$new_key] = $value;
}
?>

Dalam kod di atas, kita mula-mula mencipta tatasusunan baharu $new_array, dan kemudian menggunakan gelung foreach untuk melintasi tatasusunan asal $old_array. Dalam badan gelung, kita mendapat nilai kunci tatasusunan asal sebagai kunci tatasusunan baharu, dan menggunakan nilai tatasusunan asal sebagai nilai tatasusunan baharu. Apabila mendapat nilai kunci baharu, kami menggunakan fungsi str_replace untuk melaksanakan operasi penggantian.

3. Gunakan fungsi array_reduce

Fungsi array_reduce boleh lelaran melalui fungsi panggil balik pada semua elemen dalam tatasusunan, dan akhirnya mengembalikan satu nilai. Kita juga boleh menggunakan fungsi array_reduce untuk melaksanakan penggantian kunci tatasusunan. Kod khusus adalah seperti berikut:

<?php
$new_array = array_reduce(array_keys($old_array), function ($acc, $key) use ($old_array) {
    $new_key = str_replace('_', '-', $key);
    $acc[$new_key] = $old_array[$key];
    return $acc;
}, array());
?>

Dalam kod di atas, kita mula-mula menggunakan fungsi array_keys untuk mendapatkan kunci tatasusunan asal, dan kemudian gunakan fungsi array_reduce untuk memprosesnya secara berulang. Semasa lelaran, kami menggunakan fungsi tanpa nama untuk menggantikan kekunci tatasusunan asal dengan kekunci baharu, dan gunakan $acc[$kekunci_baru] = $old_array[$key] untuk menggabungkan kunci baharu dengan nilai tatasusunan asal ke dalam tatasusunan baharu. Akhir sekali, kami menggunakan tatasusunan baharu sebagai nilai awal untuk fungsi array_reduce dan mengembalikan hasilnya.

Ringkasan

Tiga kaedah di atas boleh merealisasikan penggantian kunci tatasusunan PHP Kaedah yang mana untuk dipilih bergantung pada tabiat peribadi dan senario aplikasi tertentu. Tidak kira kaedah yang digunakan, kita perlu memberi perhatian untuk memastikan kod mudah dan boleh dibaca.

Atas ialah kandungan terperinci php menggantikan kunci tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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