Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich zwei 2D-Arrays in PHP basierend auf einem gemeinsamen Spaltenwert effizient zusammenführen?
Zusammenführen von 2D-Arrays nach gemeinsamem Spaltenwert
Das Kombinieren zweier mehrdimensionaler Arrays mit gemeinsamen Werten kann eine häufige Programmieraufgabe sein. Während traditionelle iterative Ansätze mit verschachtelten Schleifen und bedingten Prüfungen zuverlässig sind, können sie oft zu ausführlichem und möglicherweise ineffizientem Code führen. In diesem Artikel werden elegante Lösungen unter Verwendung nativer PHP-Array-Funktionen untersucht.
Betrachten Sie die folgenden zwei Arrays:
$array1 = [ ['rank' => '579', 'id' => '1'], ['rank' => '251', 'id' => '2'], ]; $array2 = [ ['size' => 'S', 'status' => 'A', 'id' => '1'], ['size' => 'L', 'status' => 'A', 'id' => '2'], ];
Das Ziel besteht darin, diese Arrays basierend auf ihren gemeinsamen „id“-Werten zusammenzuführen und so die zu erzeugen folgendes Ergebnis:
[ ['size' => 'S', 'status' => 'A', 'id' => '1', 'rank' => '579'], ['size' => 'L', 'status' => 'A', 'id' => '2', 'rank' => '251'], ]
Lösung 1: array_merge_recursive
Die PHP-Funktion array_merge_recursive() ermöglicht das Zusammenführen von Arrays und die rekursive Kombination von Elementen mit passenden Schlüsseln.
$mergedArray = array_merge_recursive($array1, $array2);
Diese Lösung ist unkompliziert und liefert das gewünschte Ergebnis, ohne dass dies erforderlich ist zusätzliche Schleifen oder Bedingungen.
Lösung 2: Benutzerdefiniert Funktion
Alternativ kann eine benutzerdefinierte Funktion erstellt werden, um die Zusammenführung möglicherweise effizienter durchzuführen:
function my_array_merge(array &$array1, array &$array2) { $result = []; foreach ($array1 as $key => &$value) { $result[$key] = array_merge($value, $array2[$key]); } return $result; } $mergedArray = my_array_merge($array1, $array2);
Diese Funktion durchläuft das erste Array und führt jedes Element mit zusammen sein entsprechendes Element aus dem zweiten Array basierend auf den übereinstimmenden Schlüsseln.
Beide Lösungen bieten effektive Möglichkeiten, 2D-Arrays basierend auf gemeinsamen Spaltenwerten zusammenzuführen. Der gewählte spezifische Ansatz kann von Faktoren wie Leistungsanforderungen oder Code-Lesbarkeitspräferenzen abhängen.
Das obige ist der detaillierte Inhalt vonWie kann ich zwei 2D-Arrays in PHP basierend auf einem gemeinsamen Spaltenwert effizient zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!