Dalam PHP, tatasusunan ialah jenis data yang sangat berguna yang boleh menyimpan berbilang nilai dan setiap nilai boleh diakses dengan kunci unik. Kekunci tatasusunan PHP boleh berupa nombor atau rentetan, tetapi apabila berurusan dengan tatasusunan besar, anda mungkin perlu menyusun semula kunci dalam tatasusunan atau menukar nama kunci. Dalam artikel ini, kita akan membincangkan cara menukar kunci tatasusunan dalam PHP.
1. Gunakan fungsi array_combine()
Fungsi array_combine() boleh menggabungkan dua tatasusunan menjadi satu tatasusunan. Tatasusunan pertama mengandungi kunci baharu dan tatasusunan kedua mengandungi nilai yang akan digunakan. Fungsi ini boleh digunakan untuk menukar nilai kunci tatasusunan asal, seperti berikut:
$oldArray = array('a'=>'apple','b'=>'banana','c'=>'cherry'); $newKeys = array(1,2,3); $newArray = array_combine($newKeys,$oldArray); print_r($newArray);
Dalam contoh ini, kita mula-mula mentakrifkan tatasusunan $oldArray yang mengandungi 3 elemen, yang kuncinya ialah a dan b c, nilai yang sepadan ialah epal, pisang dan ceri masing-masing. Seterusnya, kami mentakrifkan tatasusunan baharu $newKeys, yang mengandungi tiga nombor 1, 2 dan 3. Akhir sekali, kami menggunakan fungsi array_combine() untuk menghantar tatasusunan $newKeys sebagai kunci baharu kepada tatasusunan $oldArray, menghasilkan tatasusunan baharu $newArray di mana kunci lama ialah nilai dan kunci baharu ialah 1, 2, dan 3. Akhir sekali, gunakan fungsi print_r() untuk mengeluarkan $newArray Hasilnya adalah seperti berikut:
Array ( [1] => apple [2] => banana [3] => cherry )
Kekunci di sini ialah 1, 2 dan 3 bukannya a, b dan c asal.
2. Gunakan fungsi array_values() dan array_flip() fungsi
array_values() fungsi boleh mengembalikan semua nilai dalam tatasusunan dan mengindeks semula kunci asal sebagai kunci angka bermula dari 0 . Fungsi ini boleh digunakan untuk menjana tatasusunan baharu yang kuncinya adalah kekunci angka bermula dari 0. Fungsi array_flip() boleh membalikkan kekunci dan nilai dalam tatasusunan. Dengan menggabungkan kedua-dua fungsi ini, anda boleh menukar nilai kunci tatasusunan asal, seperti berikut:
$oldArray = array('a'=>'apple','b'=>'banana','c'=>'cherry'); $newArray = array_flip(array_values($oldArray)); print_r($newArray);
Dalam contoh ini, kita mula-mula mentakrifkan tatasusunan $oldArray yang mengandungi 3 elemen, dan kuncinya Ia adalah , b dan c masing-masing, dan nilai yang sepadan ialah epal, pisang dan ceri. Gunakan fungsi array_values() untuk menyusun semula nilai dalam tatasusunan $oldArray ke dalam kekunci angka bermula dari 0 untuk menjana tatasusunan baharu. Kemudian, gunakan fungsi array_flip() untuk membalikkan kunci dan nilai dalam tatasusunan baharu, supaya nilai asal menjadi kunci baharu, dan kunci baharu ialah kunci angka bermula dari 0. Akhir sekali, gunakan fungsi print_r() untuk mengeluarkan $newArray Hasilnya adalah seperti berikut:
Array ( [apple] => 0 [banana] => 1 [cherry] => 2 )
Kekunci baharu di sini ialah kekunci angka bermula dari 0, bukannya a, b dan c asal.
3. Gunakan fungsi array_map() dan fungsi tanpa nama
Fungsi array_map() boleh menggunakan fungsi pada semua nilai tatasusunan dan mengembalikan tatasusunan baharu. Fungsi ini boleh digunakan untuk menjana tatasusunan baharu yang kuncinya adalah nilai baharu yang diperoleh dengan menggunakan fungsi pada kunci dalam tatasusunan asal. Dengan menggabungkan fungsi tanpa nama, anda boleh menukar nilai kunci tatasusunan asal, seperti berikut:
$oldArray = array('a'=>'apple','b'=>'banana','c'=>'cherry'); $newArray = array_map(function($key){ return $key.'123'; },array_flip($oldArray)); print_r($newArray);
Dalam contoh ini, kita mula-mula mentakrifkan tatasusunan $oldArray yang mengandungi 3 elemen, yang kuncinya ialah , b dan c, nilai yang sepadan ialah epal, pisang dan ceri masing-masing. Seterusnya, gunakan fungsi array_flip() untuk membalikkan kunci dan nilai dalam tatasusunan $oldArray supaya kunci baharu ialah nilai asal. Kemudian, gunakan fungsi array_map() untuk menggunakan fungsi tanpa nama pada kunci setiap elemen tatasusunan Fungsi tanpa nama ini menambah akhiran "123" pada setiap kunci, dan akhirnya mengembalikan tatasusunan baharu. Akhir sekali, gunakan fungsi print_r() untuk mengeluarkan $newArray Hasilnya adalah seperti berikut:
Array ( [apple123] => 0 [banana123] => 1 [cherry123] => 2 )
Kunci baharu di sini ialah nilai asal, dan akhiran "123" ditambahkan pada setiap kunci.
Ringkasan
Terdapat banyak cara untuk menukar kekunci tatasusunan dalam PHP, di atas adalah tiga kaedah biasa. Menggunakan kaedah ini, anda boleh menukar nilai utama tatasusunan dengan mudah untuk memenuhi pelbagai keperluan. Kaedah yang berbeza sesuai untuk situasi yang berbeza, dan anda boleh memilih kaedah yang hendak digunakan mengikut keperluan anda.
Atas ialah kandungan terperinci Bagaimana untuk menukar kunci tatasusunan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!