In PHP sind Array_Chunk und Array_Merge_Recursive zwei sehr nützliche Array -Manipulationsfunktionen. Array_Chunk kann ein Array in mehrere kleine Stücke aufteilen, während Array_merge_recursive mehrere Arrays rekursiv zusammenführen können. In diesem Artikel wird angezeigt, wie diese beiden Funktionen verwendet werden, um nach Array -Chunking einen Zusammenführungsvorgang durchzuführen.
Array_Chunk ist eine integrierte Funktion in PHP, die ein Array in mehrere kleine Arrays aufteilen kann. Seine Syntax ist wie folgt:
array_chunk(array $array, int $size, bool $preserve_keys = false): array
$ arrray ist ein Array, das geknackt werden muss.
$ Größe ist die Größe jedes Subtarrays.
Der Parameter $ PREERIVE_KEYS ermittelt, ob der Schlüsselwert des ursprünglichen Arrays beibehalten werden soll.
Beispielcode:
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$chunkedArray = array_chunk($array, 3);
print_r($chunkedArray);
Ausgangsergebnis:
Array
(
[0] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
[1] => Array
(
[0] => 4
[1] => 5
[2] => 6
)
[2] => Array
(
[0] => 7
[1] => 8
[2] => 9
)
)
Die Funktion array_merge_recursive kombiniert mehrere Zahlen rekursiv zu einem. Wenn in mehreren Arrays ein Schlüssel in einem Array vorhanden ist, verschmilzt Array_merge_recursive die Werte in ein Array. Seine Syntax ist wie folgt:
array_merge_recursive(array ...$arrays): array
$ arrays ist das zu verschmolzene Array und kann eine beliebige Anzahl von Arrays sein.
Beispielcode:
$array1 = ["a" => "apple", "b" => "banana"];
$array2 = ["a" => "apricot", "b" => "blueberry"];
$mergedArray = array_merge_recursive($array1, $array2);
print_r($mergedArray);
Ausgangsergebnis:
Array
(
[a] => Array
(
[0] => apple
[1] => apricot
)
[b] => Array
(
[0] => banana
[1] => blueberry
)
)
Wir können Array_Chunk und Array_merge_recursive zusammen verwenden, zuerst die großen Arrays einteilen und dann jedes kleine Array rekursiv zusammenführen. Dies ist sehr nützlich für einige Szenarien, in denen Daten in Stücken verschmolzen werden müssen.
Angenommen, wir haben ein mehrdimensionales Array, und wir möchten es zuerst in mehrere Blöcke unterteilen und dann diese Blöcke zusammenführen. Hier ist ein Beispiel für den Implementierungscode:
// Originalarray
$array = [
"key1" => ["a" => "apple", "b" => "banana"],
"key2" => ["a" => "apricot", "b" => "blueberry"],
"key3" => ["c" => "cherry", "d" => "date"],
"key4" => ["c" => "cranberry", "d" => "dragonfruit"]
];
// verwenden array_chunk Blockieren Sie das Array,Jeder Block enthält zwei Elemente
$chunkedArray = array_chunk($array, 2, true);
// verwenden array_merge_recursive Führen Sie jeden Chunk zusammen
$mergedChunks = array();
foreach ($chunkedArray as $chunk) {
$mergedChunks[] = array_merge_recursive(...$chunk);
}
// Das zusammengeführte Ergebnis ausgeben
print_r($mergedChunks);
Ausgangsergebnis:
Array
(
[0] => Array
(
[key1] => Array
(
[a] => apple
[b] => banana
)
[key2] => Array
(
[a] => apricot
[b] => blueberry
)
)
[1] => Array
(
[key3] => Array
(
[c] => cherry
[d] => date
)
[key4] => Array
(
[c] => cranberry
[d] => dragonfruit
)
)
)
Durch die Kombination von Array_Chunk und Array_merge_recursive können wir Arrays leicht in Stücke aufteilen und sie rekursiv zusammenführen. Dieser Ansatz eignet sich sehr effektiv für die Behandlung komplexer mehrdimensionaler Arrays, insbesondere wenn es sich um große Datenmengen handelt.