Dalam PHP, tatasusunan dua dimensi ialah tatasusunan yang terdiri daripada tatasusunan berbilang satu dimensi, yang merupakan struktur data yang sangat biasa dalam pengaturcaraan. Walau bagaimanapun, dalam beberapa senario tertentu, kita mungkin perlu menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi untuk memudahkan penggunaan dan pemprosesan program.
Di bawah, saya akan memperkenalkan cara menggunakan PHP untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi.
1. Gunakan gelung foreach
Kaedah yang paling biasa ialah menggunakan gelung foreach untuk mengekstrak setiap elemen tatasusunan dua dimensi dan menyimpannya dalam tatasusunan satu dimensi baharu.
$array = array( array('id' => 1, 'name' => 'Tom'), array('id' => 2, 'name' => 'Jerry') ); $newArray = array(); foreach ($array as $value) { foreach ($value as $val) { $newArray[] = $val; } } print_r($newArray);
Hasil keluaran:
Array ( [0] => 1 [1] => Tom [2] => 2 [3] => Jerry )
2. Gunakan fungsi array_reduce
Kita juga boleh menggunakan fungsi array_reduce PHP untuk memproses tatasusunan dua dimensi.
$array = array( array('id' => 1, 'name' => 'Tom'), array('id' => 2, 'name' => 'Jerry') ); $newArray = array_reduce($array, function ($result, $item) { return array_merge($result, array_values($item)); }, array()); print_r($newArray);
Hasil keluaran:
Array ( [0] => 1 [1] => Tom [2] => 2 [3] => Jerry )
3 Gunakan fungsi array_column
Jika kita hanya perlu mengekstrak lajur tertentu dalam tatasusunan dua dimensi, kita boleh. gunakan fungsi array_column PHP.
$array = array( array('id' => 1, 'name' => 'Tom', 'age' => 18), array('id' => 2, 'name' => 'Jerry', 'age' => 20) ); $newArray = array_column($array, 'name'); print_r($newArray);
Hasil keluaran:
Array ( [0] => Tom [1] => Jerry )
4 Gunakan fungsi untuk menukar tatasusunan secara rekursif
Jika dimensi tatasusunan dua dimensi bersarang tidak tetap. , kita boleh menggunakan fungsi rekursif untuk melakukan penukaran.
$array = array( array('id' => 1, 'name' => 'Tom', 'languages' => array('PHP', 'Java')), array('id' => 2, 'name' => 'Jerry', 'languages' => array('Python', 'C++')) ); function convert($array) { $newArray = array(); foreach ($array as $value) { if (is_array($value)) { $newArray = array_merge($newArray, convert($value)); } else { $newArray[] = $value; } } return $newArray; } $newArray = convert($array); print_r($newArray);
Hasil keluaran:
Array ( [0] => 1 [1] => Tom [2] => PHP [3] => Java [4] => 2 [5] => Jerry [6] => Python [7] => C++ )
Di atas adalah beberapa kaedah untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi Memilih kaedah yang sesuai mengikut situasi sebenar boleh sangat meningkatkan kecekapan kod dan kebolehbacaan.
Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan 2D kepada tatasusunan 1D menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!