Heim >Backend-Entwicklung >PHP-Tutorial >So führen Sie ein oder mehrere Arrays in PHP zusammen

So führen Sie ein oder mehrere Arrays in PHP zusammen

王林
王林nach vorne
2024-03-19 10:40:151175Durchsuche

Der PHP-Editor Banana stellt Ihnen ausführlich vor, wie Sie ein oder mehrere Arrays zusammenführen. In PHP können Sie die Funktion array_merge() verwenden, um mehrere Arrays zu einem neuen Array zusammenzuführen, oder Sie können den Plus-Operator (+) verwenden, um Arrays zusammenzuführen. Darüber hinaus kann die Funktion array_merge_recursive() mehrdimensionale Arrays zusammenführen. Bei assoziativen Arrays können Sie den Operator „+“ verwenden, um sie zusammenzuführen. In der tatsächlichen Entwicklung werden geeignete Methoden für die Array-Zusammenführung basierend auf spezifischen Anforderungen ausgewählt, um das Programm effizienter und flexibler zu machen.

PHP-Merge-Arrays

php bietet mehrere Methoden zum Zusammenführen eines oder mehrerer Arrays:

Array_merge()-Funktion

array_merge() Funktionen sind die einfachste Möglichkeit, Arrays zusammenzuführen. Es führt mehrere Arrays zu einem neuen Array zusammen.

$arr1 = [1, 2, 3];
$arr2 = ["a", "b", "c"];

$mergedArr = array_merge($arr1, $arr2);

print_r($mergedArr); // 输出 [1, 2, 3, "a", "b", "c"]

+ Betreiber

Der

+-Operator kann auch Arrays zusammenführen, ist jedoch auf zwei Arrays beschränkt.

$arr1 = [1, 2, 3];
$arr2 = ["a", "b", "c"];

$mergedArr = $arr1 + $arr2;

print_r($mergedArr); // 输出 [1, 2, 3, "a", "b", "c"]

array_combine()-Funktion

array_combine() Die Funktion erstellt ein neues Array mit Elementen eines Arrays als Schlüssel und Elementen des anderen Arrays als Werten.

$keys = ["id", "name", "age"];
$values = [1, "John", 30];

$mergedArr = array_combine($keys, $values);

print_r($mergedArr); // 输出 ["id" => 1, "name" => "John", "age" => 30]

array_map()-Funktion

array_map() Mit Funktionen können Sie eine oder mehrere Funktionen auf jedes Array-Element anwenden und ein neues Array zurückgeben. Dies kann zum Zusammenführen von Arrays verwendet werden, z. B. zum Hinzufügen entsprechender Elemente zweier Arrays.

$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"]

Verschachteltes Array

Wenn Sie verschachtelte Arrays zusammenführen müssen, können Sie die rekursiveFunktion oder die array_merge_recursive()Funktion verwenden.

array_merge_recursive()-Funktion

array_merge_recursive() Die Funktion führt Arrays rekursiv zusammen und führt alle Unterelemente in verschachtelten Arrays zusammen.

$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],
],
]

Rekursive Funktion

Sie können auch rekursive Funktionen verwenden, um verschachtelte Arrays zusammenzuführen.

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],
],
]

Das obige ist der detaillierte Inhalt vonSo führen Sie ein oder mehrere Arrays in PHP zusammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lsjlt.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen