Dalam PHP, tatasusunan ialah struktur data yang sangat biasa dan berguna. Tatasusunan dua dimensi menambah satu dimensi kepada tatasusunan satu dimensi, membolehkan penyimpanan dan manipulasi data yang lebih fleksibel. Walau bagaimanapun, dalam aplikasi sebenar, kita mungkin perlu melakukan operasi gantian pada tatasusunan dua dimensi, seperti menggantikan nilai tertentu dalam tatasusunan, dan operasi gantian ini perlu dilaksanakan dalam berbilang subtatasusunan pada masa yang sama. Artikel ini akan memperkenalkan cara menggantikan tatasusunan dua dimensi dalam PHP.
1. Gantikan satu nilai dalam tatasusunan dua dimensi
Dalam PHP, kita boleh menggunakan fungsi array_replace() untuk menggantikan satu nilai dalam tatasusunan. Fungsi ini menerima berbilang tatasusunan sebagai parameter dan mengembalikan tatasusunan baharu selepas penggantian. Sebagai contoh, kita mempunyai tatasusunan dua dimensi berikut:
$arr = array( array('name' => 'Tom', 'age' => 18), array('name' => 'Jack', 'age' => 20), array('name' => 'Mary', 'age' => 22) );
Jika kita perlu menukar maklumat bernama "Tom" kepada "Peter", kita boleh menggunakan fungsi array_replace() untuk mencapai ini:
$newArr = array_replace($arr[0], array('name' => 'Peter')); $arr[0] = $newArr;
Kod di atas , kita mula-mula menggunakan fungsi array_replace() untuk menggantikan maklumat bernama "Tom" dengan maklumat bernama "Peter", dan menetapkan tatasusunan baru yang diganti kepada pembolehubah $newArr. Kemudian, kami menugaskan $newArr kembali ke tatasusunan asal sekali lagi, merealisasikan operasi menggantikan elemen dalam tatasusunan dua dimensi.
2. Gantikan berbilang nilai dalam tatasusunan dua dimensi
Jika kita perlu menggantikan nilai yang sama dalam pelbagai sub-tatasusunan dalam tatasusunan dua dimensi, maka kita boleh gunakan fungsi array_map() untuk merentasi tatasusunan dan menggantikannya. Contohnya adalah seperti berikut:
$array = array( array('name' => 'Tom', 'age' => 18, 'sex' => 'M'), array('name' => 'Jack', 'age' => 20, 'sex' => 'M'), array('name' => 'Mary', 'age' => 22, 'sex' => 'F') ); function replace_name($array) { $array['name'] = 'Peter'; return $array; } $new_arr = array_map('replace_name', $array);
Dalam kod di atas, kami mentakrifkan fungsi bernama replace_name, yang menerima tatasusunan sebagai parameter dan menukar nilai yang sepadan dengan kunci "nama" dalam tatasusunan kepada "Peter" kembali. Kami kemudiannya menggunakan fungsi array_map() untuk menggunakan fungsi tersebut pada setiap sub-array bagi tatasusunan asal dan memberikan hasil yang diproses kepada pembolehubah $newArr. Akhir sekali, kita boleh menggunakan fungsi print_r() untuk mengeluarkan kandungan tatasusunan baharu ke skrin untuk dilihat.
3. Gunakan rujukan untuk melaksanakan penggantian
Dalam PHP, gunakan rujukan (&) untuk menukar nilai parameter sebenar dalam panggilan fungsi. Oleh itu, kita juga boleh menggunakan rujukan untuk menggantikan data dalam tatasusunan dua dimensi. Contohnya:
$array = array( array('name' => 'Tom', 'age' => 18, 'sex' => 'M'), array('name' => 'Jack', 'age' => 20, 'sex' => 'M'), array('name' => 'Mary', 'age' => 22, 'sex' => 'F') ); function replace_name(&$array) { $array['name'] = 'Peter'; } foreach($array as &$value) { replace_name($value); }
Dalam kod di atas, kami mentakrifkan fungsi replace_name yang menghantar tatasusunan melalui rujukan sebagai parameter dan menggantikan kekunci "nama" dalam tatasusunan dengan "Peter". Kami kemudian beralih melalui tatasusunan asal melalui gelung foreach dan lulus setiap elemen secara bergilir-gilir ke fungsi replace_name menggunakan rujukan. Akhirnya, nilai yang sepadan dengan kunci "nama" dalam tatasusunan asal telah berjaya digantikan dengan "Peter".
Ringkasnya, untuk menggantikan tatasusunan dua dimensi dalam PHP, anda boleh menggunakan fungsi array_replace(), fungsi array_map() atau lulus parameter melalui rujukan dan mencapainya melalui gelung. Kaedah yang berbeza sesuai untuk senario yang berbeza, dan anda boleh memilih secara fleksibel mengikut situasi sebenar.
Atas ialah kandungan terperinci Bagaimana untuk menggantikan tatasusunan dua dimensi dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!