Dalam pembangunan PHP, memproses tatasusunan berbilang dimensi ialah operasi yang sangat biasa. Kadangkala, kita perlu mengubah suai tatasusunan berbilang dimensi, contohnya, kita perlu menukar nilai sub-tatasusunan tertentu kepada nilai lain, atau memadamkan pasangan nilai kunci, dsb. Jadi dalam PHP, bagaimana untuk menukar nilai tatasusunan multidimensi?
Seterusnya, artikel ini akan memperkenalkan secara terperinci cara menggunakan pernyataan foreach untuk menukar nilai tatasusunan berbilang dimensi.
Dalam PHP, pernyataan foreach boleh digunakan untuk melintasi tatasusunan. Sintaks asas bagi pernyataan foreach adalah seperti berikut:
foreach ($array as $key => $value) { // 对$value进行操作 }
di mana $array ialah tatasusunan yang akan dilalui, $key ialah kunci elemen yang sedang dilalui dalam tatasusunan dan $value ialah nilai bagi elemen yang sedang dilalui dalam tatasusunan. Melalui tiga parameter ini, kita boleh mengakses dan mengendalikan elemen dalam tatasusunan.
Sebagai contoh, kod berikut menggunakan pernyataan foreach untuk merentasi tatasusunan mudah:
$fruits = array("apple", "orange", "banana"); foreach ($fruits as $fruit) { echo $fruit . "<br>"; }
Keluaran kod di atas ialah:
apple orange banana
Dalam PHP, untuk menukar nilai tatasusunan berbilang dimensi, anda perlu menggunakan pernyataan foreach bersarang. Berikut ialah contoh tatasusunan dua dimensi:
$students = array( array("name" => "张三", "age" => 18, "score" => 80), array("name" => "李四", "age" => 19, "score" => 90), array("name" => "王五", "age" => 20, "score" => 85) );
Jika kita perlu menukar skor John Doe daripada 90 kepada 95, kita boleh menggunakan kod berikut:
foreach ($students as &$student) { if ($student["name"] == "李四") { $student["score"] = 95; } }
Dengan kod di atas , kita menggunakan Pernyataan foreach merentasi tatasusunan $pelajar dan mengeluarkan setiap $pelajar subarray. Dalam setiap subbaris, tentukan sama ada $name sama dengan "李思", dan jika ya, tukar $skor kepada 95. Perlu diingat bahawa oleh kerana pernyataan foreach mencipta salinan subarray, rujukan & mesti digunakan semasa mengubah subarray.
Seterusnya, mari kita lihat contoh tatasusunan berbilang dimensi yang lebih kompleks:
$employees = array( array("name" => "张三", "age" => 25, "department" => "技术部"), array("name" => "李四", "age" => 26, "department" => "市场部"), array("name" => "王五", "age" => 28, "department" => "财务部") ); $departments = array( "技术部" => array("leader" => "赵六", "location" => "办公室1"), "市场部" => array("leader" => "钱七", "location" => "办公室2"), "财务部" => array("leader" => "孙八", "location" => "办公室3") );
Jika kita perlu menukar jabatan Zhang San daripada "Jabatan Teknikal" kepada "Jabatan Kewangan", kita boleh menggunakan The kod berikut:
foreach ($employees as &$employee) { if ($employee["name"] == "张三") { $department = $departments[$employee["department"]]; $employee["department"] = "财务部"; $employee["leader"] = $department["leader"]; $employee["location"] = $department["location"]; } }
Dalam kod di atas, kami mula-mula menggunakan pernyataan foreach untuk melintasi tatasusunan $employees dan mencari pekerja yang $namanya bersamaan dengan "Zhang San". Kemudian, kami menggunakan $employee["department"] sebagai kunci untuk mendapatkan semula jabatan Zhang San daripada tatasusunan $departments, dan kemudian mengubah suai pasangan nilai kunci $employee, termasuk menukar nilai kunci "jabatan" kepada "Kewangan Jabatan" , dan tetapkan nilai kunci "pemimpin" dan "lokasi" kepada nilai jabatan asal.
Dengan menggunakan pernyataan foreach, kita boleh melintasi tatasusunan berbilang dimensi dan mengubah suainya dengan mudah. Perlu diingatkan bahawa rujukan & mesti digunakan semasa mengubah subarray.
Atas ialah kandungan terperinci Bagaimana untuk menukar nilai tatasusunan berbilang dimensi dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!