Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggabungkan satu atau lebih tatasusunan dalam PHP

Bagaimana untuk menggabungkan satu atau lebih tatasusunan dalam PHP

王林
王林ke hadapan
2024-03-19 10:40:151140semak imbas

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!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam