Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk membatch menukar nama kunci dalam tatasusunan php

Bagaimana untuk membatch menukar nama kunci dalam tatasusunan php

PHPz
Lepaskan: 2023-04-19 10:34:58
asal
624 orang telah melayarinya

Dalam PHP, tatasusunan ialah struktur data yang sangat praktikal yang boleh menyimpan dan memproses berbilang nilai. Walau bagaimanapun, dalam pembangunan sebenar, kita sering perlu mengubah suai nama kunci tatasusunan Pada masa ini, kita perlu menggunakan fungsi berkaitan tatasusunan untuk melengkapkan.

Di bawah, saya akan memperkenalkan secara terperinci cara untuk mengubah suai nama kunci tatasusunan dalam PHP. Secara khusus, kami akan menggunakan fungsi berikut:

  1. array_combine(): gunakan nilai satu tatasusunan sebagai kunci tatasusunan baharu, dan nilai tatasusunan lain sebagai nilai tatasusunan baharu ;
  2. array_keys(): Mengembalikan semua nama kunci dalam array; menggunakan fungsi yang ditentukan untuk setiap elemen tatasusunan, Dan mengembalikan tatasusunan baharu;
  3. Sekarang, kami andaikan terdapat tatasusunan $arr, yang mengandungi beberapa elemen, setiap elemen mempunyai nama kunci angka. Kami ingin menukarnya menjadi nama kunci rentetan, seperti menggantikan "0" dengan "epal", menggantikan "1" dengan "pisang", dsb. Jadi, apa yang perlu dilakukan? Sila lihat kod berikut:
  4. Dalam kod ini, kita mula-mula mentakrifkan tatasusunan $arr dan tatasusunan $key_names, yang mempunyai bilangan elemen yang sama. Seterusnya, kami menggunakan fungsi array_combine() untuk menggunakan nilai tatasusunan $arr sebagai nilai tatasusunan baharu dan nilai tatasusunan $key_names sebagai kunci tatasusunan baharu. Akhir sekali, kami mencetak kandungan tatasusunan baharu $new_arr melalui fungsi print_r() dan kami boleh melihat hasil yang kami inginkan:

Dengan cara ini, kami berjaya menukar nama kunci daripada a nombor kepada String. Tetapi dalam beberapa kes, keperluan kita mungkin lebih kompleks. Sebagai contoh, kita perlu menukar semua nama kunci daripada huruf besar kepada huruf kecil. Pada masa ini, kita boleh menggunakan fungsi array_keys() dan array_map() untuk mencapainya. Kodnya adalah seperti berikut:

$arr = array('apple', 'banana', 'orange', 'peach', 'lemon');
$key_names = array('apple', 'banana', 'orange', 'peach', 'lemon');
$new_arr = array_combine($key_names, $arr);
print_r($new_arr);
Salin selepas log masuk

Dalam kod ini, kita mula-mula mentakrifkan tatasusunan $arr dan menggunakan huruf besar pertama nama kuncinya. Seterusnya, kami menggunakan fungsi array_keys() untuk mengembalikan semua kekunci tatasusunan $arr. Kami kemudian menggunakan fungsi array_map() untuk menggunakan fungsi strtolower() pada setiap nama kunci, menukar semuanya kepada huruf kecil. Akhir sekali, kami menggabungkan nama kunci baharu dan nilai tatasusunan $arr menggunakan fungsi array_combine() untuk membentuk tatasusunan baharu $new_arr. Gunakan fungsi print_r() untuk mencetak kandungan tatasusunan baharu $new_arr, dan anda boleh melihat hasil yang diubah suai:

Array
(
    [apple] => apple
    [banana] => banana
    [orange] => orange
    [peach] => peach
    [lemon] => lemon
)
Salin selepas log masuk

Dengan cara ini, kami telah berjaya menukar semua nama kunci kepada huruf kecil. Perlu diingatkan bahawa apabila menggunakan fungsi array_combine(), pastikan nama kunci dan bilangan nilai tatasusunan baharu adalah sama, jika tidak ralat akan berlaku. Di sini, kami menggunakan fungsi array_values() untuk mendapatkan semua nilai tatasusunan $arr untuk memastikan nombornya adalah sama dengan bilangan tatasusunan $huruf kecil_keys.

$arr = array(
    'Apple' => 'red',
    'Banana' => 'yellow',
    'Orange' => 'orange',
    'Peach' => 'pink',
    'Lemon' => 'yellow'
);

$lowercase_keys = array_map('strtolower', array_keys($arr));
$new_arr = array_combine($lowercase_keys, array_values($arr));

print_r($new_arr);
Salin selepas log masuk
Sudah tentu kaedah di atas hanya untuk demonstrasi Dalam penggunaan sebenar, anda perlu memilih fungsi dan kaedah yang sesuai mengikut situasi tertentu.

Selain kaedah yang diperkenalkan di atas, terdapat juga cara yang lebih fleksibel, iaitu menggunakan fungsi array_walk(). Fungsi ini boleh menyesuaikan fungsi panggil balik untuk beroperasi pada setiap elemen dalam tatasusunan, supaya ia dapat memenuhi keperluan yang lebih pelbagai.
Array
(
    [apple] => red
    [banana] => yellow
    [orange] => orange
    [peach] => pink
    [lemon] => yellow
)
Salin selepas log masuk

Di bawah, kami melaksanakan contoh mudah untuk menambah awalan "fruit_" kepada semua nama utama dalam tatasusunan Kodnya adalah seperti berikut:

Dalam kod ini, kami mula-mula menentukan. Cipta tatasusunan $arr dan takrifkan fungsi add_prefix(). Fungsi add_prefix() mempunyai tiga parameter, iaitu nilai yang akan dikendalikan, nama kunci nilai semasa dan awalan yang ditentukan. Di dalam fungsi, kami menggabungkan nama kunci dan awalan nilai semasa untuk menjana nama kunci baharu dan menetapkannya kepada nama kunci nilai semasa. Kemudian, kami menggunakan fungsi array_walk() untuk menggunakan fungsi add_prefix() pada setiap elemen dalam tatasusunan $arr, dan akhirnya mencetak tatasusunan yang diubah suai:

Dengan cara ini, kami telah berjaya melaksanakan pengubahsuaian kelompok Operasi pada nama kunci tatasusunan. Secara umum, terdapat banyak fungsi terbina dalam dalam PHP yang boleh beroperasi pada tatasusunan, dan anda boleh memilih kaedah yang paling sesuai mengikut keperluan sebenar anda.

Atas ialah kandungan terperinci Bagaimana untuk membatch menukar nama kunci dalam 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