Bagaimana untuk menggabungkan satu atau lebih tatasusunan dalam PHP

王林
Lepaskan: 2024-03-19 10:44:02
ke hadapan
1171 orang telah melayarinya

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"]
Salin selepas log masuk

+ 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"]
Salin selepas log masuk

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]
Salin selepas log masuk

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"]
Salin selepas log masuk

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],
],
]
Salin selepas log masuk

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],
],
]
Salin selepas log masuk

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!

Label berkaitan:
sumber:lsjlt.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan