Apabila menulis program PHP, kadangkala anda perlu melakukan beberapa operasi pada tatasusunan, seperti mengubah suai nilai kunci tatasusunan. Dalam kebanyakan kes, kita mungkin perlu menggantikan nilai utama tatasusunan untuk memenuhi keperluan kita.
Di sini kami memperkenalkan kaedah yang mudah dan cekap untuk menggantikan nilai utama dalam tatasusunan PHP.
1. Gunakan fungsi array_combine()
Fungsi array_combine() dalam PHP boleh digunakan untuk menggunakan nilai dalam satu tatasusunan sebagai kunci tatasusunan baharu dan nilai dalam tatasusunan lain sebagai nilai tatasusunan baharu.
Oleh itu, mula-mula kita boleh mencipta tatasusunan baharu, gunakan nilai dalam tatasusunan asal sebagai nilai tatasusunan baharu, kemudian gunakan nilai kunci untuk digantikan sebagai kunci tatasusunan baharu, dan akhirnya menggabungkan dua tatasusunan melalui array_combine() fungsi Bercantum ke dalam tatasusunan baharu.
Kod sampel adalah seperti berikut:
$array = array('a' => 1, 'b' => 2, 'c' => 3); $key = 'b'; $newKey = 'd'; if (array_key_exists($key, $array)) { $keys = array_keys($array); $values = array_values($array); $pos = array_search($key, $keys); $keys[$pos] = $newKey; $array = array_combine($keys, $values); }
Dalam kod di atas, kita dapat melihat bahawa fungsi array_key_exists() pertama kali digunakan untuk menentukan sama ada nilai kunci yang akan diganti wujud dalam tatasusunan asal. Jika Jika wujud, gunakan fungsi array_keys() dan array_values() untuk mendapatkan kunci dan nilai dalam tatasusunan asal.
Seterusnya, gunakan fungsi array_search() untuk mencari kedudukan nilai kunci yang akan diganti dalam tatasusunan asal, dan gantikannya dengan nilai kunci baharu.
Akhir sekali, gunakan fungsi array_combine() untuk menggabungkan kekunci dan nilai baharu, menjana tatasusunan baharu dan melengkapkan operasi penggantian.
Kelebihan kaedah ini ialah ia mudah, boleh dipercayai dan cekap, serta sesuai untuk kebanyakan senario penggantian tatasusunan.
2. Gunakan fungsi array_splice()
Selain menggunakan fungsi array_combine(), kita juga boleh menggunakan fungsi array_splice() untuk menggantikan nilai kunci.
array_splice() fungsi adalah untuk memadam elemen yang ditentukan daripada tatasusunan dan menggantikan elemen yang dipadamkan dengan elemen lain.
Kod sampel adalah seperti berikut:
$array = array('a' => 1, 'b' => 2, 'c' => 3); $key = 'b'; $newKey = 'd'; if (array_key_exists($key, $array)) { $keys = array_keys($array); $values = array_values($array); $pos = array_search($key, $keys); array_splice($keys, $pos, 1, $newKey); $array = array_combine($keys, $values); }
Dalam kod di atas, kami menggunakan fungsi array_splice() untuk memadam nilai kunci yang akan digantikan dalam tatasusunan asal, dan masukkan nilai kunci baharu ke Lokasi yang sama.
Kemudian, gunakan fungsi array_combine() untuk menggabungkan kunci dan nilai baharu untuk menjana tatasusunan baharu.
Kaedah ini juga merupakan cara yang mudah dan cekap untuk menggantikan nilai utama, tetapi berbanding dengan fungsi array_combine(), proses pengendaliannya lebih menyusahkan sedikit.
3 Gunakan fungsi unset()
Selain daripada dua kaedah di atas, kita juga boleh menggunakan fungsi unset() untuk memadamkan nilai kunci yang akan diganti dan menggunakan tugasan operasi untuk menambah nilai kunci baharu.
Kod sampel adalah seperti berikut:
$array = array('a' => 1, 'b' => 2, 'c' => 3); $key = 'b'; $newKey = 'd'; if (array_key_exists($key, $array)) { unset($array[$key]); $array[$newKey] = $value; }
Dalam kod di atas, kami menggunakan fungsi unset() untuk memadam nilai kunci yang akan diganti dan menggunakan operasi tugasan untuk menambah nilai kunci baharu.
Berbanding dengan dua kaedah pertama, kaedah ini lebih mudah, tetapi semasa operasi tatasusunan, anda perlu memberi perhatian sama ada nilai dalam tatasusunan asal perlu dikekalkan.
4. Gunakan fungsi array_replace_key()
PHP 7.2 menyediakan fungsi array_replace_key(), yang boleh digunakan untuk menggantikan nilai kunci dalam tatasusunan.
Menggunakan fungsi ini adalah sangat mudah, kod sampel adalah seperti berikut:
$array = array('a' => 1, 'b' => 2, 'c' => 3); $key = 'b'; $newKey = 'd'; if (array_key_exists($key, $array)) { $array = array_replace_key($key, $newKey, $array); }
Dalam kod di atas, kami menggunakan fungsi array_replace_key() untuk menggantikan nilai kunci $key dalam tatasusunan asal dengan $newKey , dan jana tatasusunan baharu.
Berbanding dengan tiga kaedah pertama, menggunakan fungsi array_replace_key() adalah lebih mudah dan lebih cekap, tetapi perlu diingat bahawa fungsi ini hanya tersedia untuk PHP 7.2 dan ke atas.
Ringkasan
Di atas adalah empat kaedah untuk menggantikan nilai utama dalam tatasusunan PHP, iaitu:
1 Gunakan fungsi array_combine()
2 ( ) fungsi
3. Gunakan fungsi unset()
4 Gunakan fungsi array_replace_key() (memerlukan PHP 7.2 dan ke atas)
Kaedah di atas boleh dipilih mengikut keperluan sebenar, yang mana satu untuk dipilih Kaedah bergantung pada keperluan senario perniagaan, serta keperluan kerumitan dan kecekapan kod.
Atas ialah kandungan terperinci Bagaimana untuk menggantikan nilai kunci tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!