Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar nilai kunci dalam tatasusunan php melalui nama kunci
Dalam PHP, tatasusunan ialah salah satu jenis data yang paling biasa digunakan Ia merujuk kepada koleksi pembolehubah yang berkaitan. Setiap elemen tatasusunan boleh diakses dan dimanipulasi melalui nama kuncinya yang sepadan, yang boleh menjadi integer atau jenis rentetan. Dalam sesetengah kes, kita perlu mengubah suai nilai kunci dalam tatasusunan melalui nama kunci Di sini kita akan memperkenalkan cara untuk mencapainya.
PHP menyediakan beberapa fungsi terbina dalam untuk mengubah suai elemen tatasusunan, seperti array_replace()
, array_replace_recursive()
, tetapi kelemahan fungsi ini ialah: jika nama kunci tidak wujud, tambah elemen baharu . Jika ini bukan yang anda mahukan, mungkin lebih baik untuk melaksanakan fungsi yang mengubah suai nilai kunci sendiri.
Pertama sekali, kita perlu tahu bahawa dalam PHP, nama kunci tatasusunan adalah penunjuk kepada nilai kunci Oleh itu, kita boleh mengubah suai nilai kunci dengan mengendalikan nama kunci. Kita boleh menggunakan fungsi array_keys()
untuk mendapatkan semua nama kunci dalam tatasusunan, kemudian lelaran melalui nama kunci, akses nilai kunci melalui nama kunci semasa dan kemas kini nilai kunci yang sepadan jika syarat pengubahsuaian dipenuhi.
Berikut ialah pelaksanaan fungsi sampel change_array_key()
, yang merentasi tatasusunan input Jika nama kunci semasa adalah sama dengan nama kunci yang akan diubah suai, nilai kunci diubah suai kepada nilai kunci baharu :
function change_array_key($arr, $old_key, $new_value) { $keys = array_keys($arr); foreach($keys as $key) { if($key == $old_key) { $arr[$key] = $new_value; } } return $arr; }
Menggunakan fungsi contoh di atas, kita boleh menukar nilai kunci dalam tatasusunan dengan mudah. Berikut ialah contoh praktikal:
$arr = array("name"=>"Tom","age"=>23,"sex"=>"male"); echo "修改前:<br>"; print_r($arr); $new_arr = change_array_key($arr, "age", 24); echo "修改后:<br>"; print_r($new_arr);
Hasil keluarannya ialah:
修改前: Array ( [name] => Tom [age] => 23 [sex] => male ) 修改后: Array ( [name] => Tom [age] => 24 [sex] => male )
Dalam kod di atas, kita mula-mula mentakrifkan tatasusunan $arr
dan kemudian gunakan change_array_key()
fungsi ke Nilai kunci yang sepadan dengan nama kunci age
dalam tatasusunan diubah suai kepada 24, tatasusunan yang diubah suai dikembalikan melalui pembolehubah $new_arr
, dan akhirnya tatasusunan sebelum dan selepas pengubahsuaian dicetak.
Apabila sejumlah besar elemen tatasusunan perlu diubah suai, kaedah ini boleh digunakan untuk melaksanakannya dengan lebih cekap dan mengelakkan masalah menambah elemen berlebihan yang mungkin berlaku apabila menggunakan fungsi terbina dalam.
Ringkasnya, dengan memanipulasi nama kunci tatasusunan, kami boleh mengubah suai nilai kunci dalam tatasusunan php dengan mudah. Gunakan fungsi array_keys()
untuk mendapatkan semua nama kunci dalam tatasusunan, kemudian lintasi nama kunci, dan akhirnya kemas kini nilai kunci yang sepadan.
Atas ialah kandungan terperinci Bagaimana untuk menukar nilai kunci dalam tatasusunan php melalui nama kunci. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!