Editor PHP Banana akan memperkenalkan anda secara terperinci cara menggabungkan satu atau lebih tatasusunan. Dalam PHP, anda boleh menggunakan fungsi array_merge() untuk menggabungkan berbilang tatasusunan ke dalam tatasusunan baharu, atau anda boleh menggunakan operator tambah (+) untuk menggabungkan tatasusunan. Selain itu, fungsi array_merge_recursive() boleh menggabungkan tatasusunan berbilang dimensi. Untuk tatasusunan bersekutu, anda boleh menggunakan operator "+" untuk menggabungkannya. Dalam pembangunan sebenar, kaedah yang sesuai dipilih untuk penggabungan tatasusunan berdasarkan keperluan khusus untuk menjadikan program lebih cekap dan fleksibel.
Tatasusunan Gabungan PHP
php menyediakan berbilang kaedah untuk menggabungkan satu atau lebih tatasusunan:
array_merge() fungsi
array_merge()
Fungsi ialah cara paling mudah untuk menggabungkan tatasusunan. Ia menggabungkan berbilang tatasusunan ke dalam tatasusunan baharu.
$arr1 = [1, 2, 3]; $arr2 = ["a", "b", "c"]; $mergedArr = array_merge($arr1, $arr2); print_r($mergedArr); // 输出 [1, 2, 3, "a", "b", "c"]
+ pengendali
Pengendali+
juga boleh menggabungkan tatasusunan, tetapi terhad kepada dua tatasusunan.
$arr1 = [1, 2, 3]; $arr2 = ["a", "b", "c"]; $mergedArr = $arr1 + $arr2; print_r($mergedArr); // 输出 [1, 2, 3, "a", "b", "c"]
array_combine() fungsi
array_combine()
Fungsi mencipta tatasusunan baharu dengan elemen satu tatasusunan sebagai kunci dan elemen tatasusunan lain sebagai nilai.
$keys = ["id", "name", "age"]; $values = [1, "John", 30]; $mergedArr = array_combine($keys, $values); print_r($mergedArr); // 输出 ["id" => 1, "name" => "John", "age" => 30]
array_map() fungsi
array_map()
Fungsi membolehkan anda menggunakan satu atau lebih fungsi pada setiap elemen tatasusunan dan mengembalikan tatasusunan baharu. Ini boleh digunakan untuk menggabungkan tatasusunan, seperti menambah elemen sepadan dua tatasusunan.
$arr1 = [1, 2, 3]; $arr2 = ["a", "b", "c"]; $mergedArr = array_map(function($a, $b) { return $a . $b; }, $arr1, $arr2); print_r($mergedArr); // 输出 ["1a", "2b", "3c"]
Susun Bersarang
Jika anda perlu menggabungkan tatasusunan bersarang, anda boleh menggunakan fungsi rekursif atau fungsi array_merge_recursive()
.
array_merge_recursive() fungsi
array_merge_recursive()
Fungsi menggabungkan tatasusunan secara rekursif dan menggabungkan semua sub-elemen dalam tatasusunan bersarang.
$arr1 = [ "name" => "John", "age" => 30, "children" => [ ["name" => "Alice", "age" => 5], ["name" => "Bob", "age" => 8], ], ]; $arr2 = [ "name" => "Jane", "age" => 35, "children" => [ ["name" => "Carol", "age" => 10], ], ]; $mergedArr = array_merge_recursive($arr1, $arr2); print_r($mergedArr); // 输出 [ "name" => "Jane", "age" => 35, "children" => [ ["name" => "Alice", "age" => 5], ["name" => "Bob", "age" => 8], ["name" => "Carol", "age" => 10], ], ]
Fungsi rekursif
Anda juga boleh menggunakan fungsi rekursif untuk menggabungkan tatasusunan bersarang.
function mergeNestedArrays($arr1, $arr2) { foreach ($arr2 as $key => $value) { if (is_array($value) && isset($arr1[$key]) && is_array($arr1[$key])) { $arr1[$key] = mergeNestedArrays($arr1[$key], $value); } else { $arr1[$key] = $value; } } return $arr1; } $arr1 = [ "name" => "John", "age" => 30, "children" => [ ["name" => "Alice", "age" => 5], ["name" => "Bob", "age" => 8], ], ]; $arr2 = [ "name" => "Jane", "age" => 35, "children" => [ ["name" => "Carol", "age" => 10], ], ]; $mergedArr = mergeNestedArrays($arr1, $arr2); print_r($mergedArr); // 输出 [ "name" => "Jane", "age" => 35, "children" => [ ["name" => "Alice", "age" => 5], ["name" => "Bob", "age" => 8], ["name" => "Carol", "age" => 10], ], ]
Atas ialah kandungan terperinci Bagaimana untuk menggabungkan satu atau lebih tatasusunan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!