Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich zwei 2D-PHP-Arrays basierend auf einer gemeinsam genutzten Spalte mithilfe nativer Funktionen effizient zusammenführen?

Wie kann ich zwei 2D-PHP-Arrays basierend auf einer gemeinsam genutzten Spalte mithilfe nativer Funktionen effizient zusammenführen?

Susan Sarandon
Susan SarandonOriginal
2024-12-03 22:10:14710Durchsuche

How Can I Efficiently Merge Two 2D PHP Arrays Based on a Shared Column Using Native Functions?

Effizientes Zusammenführen von 2D-Arrays basierend auf gemeinsamen Spaltenwerten mithilfe nativer PHP-Funktionen

Das effiziente Zusammenführen mehrerer Arrays ist eine häufige Aufgabe in der PHP-Programmierung. In diesem Artikel wird eine optimale Lösung zum Zusammenführen zweier 2D-Arrays basierend auf einem gemeinsamen Spaltenwert untersucht, ohne auf verschachtelte Schleifen oder komplexe Prozeduren zurückgreifen zu müssen.

Gegeben zwei Beispiel-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 ist es Führen Sie diese Arrays zu einem neuen Array zusammen, das die Werte aus jedem Array basierend auf der passenden ID kombiniert Werte:

$mergedArray = [
    ['size' => 'S', 'status' => 'A', 'id' => '1', 'rank' => '579'],
    ['size' => 'L', 'status' => 'A', 'id' => '2', 'rank' => '251'],
];

Nutzung nativer PHP-Array-Funktionen

Um diesen Zusammenführungsprozess zu erleichtern, bietet PHP zwei native Funktionen:

  • array_merge_recursive(): Führt zwei Arrays rekursiv zusammen, wobei die Mehrdimensionalität erhalten bleibt Struktur.
  • my_array_merge(): Eine benutzerdefinierte Funktion, die die Arrays durchläuft und entsprechende Werte zusammenführt.

Beispielcode mit array_merge_recursive():

$mergedArray = array_merge_recursive($array1, $array2);

Beispielcode-Verwendung my_array_merge():

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);

Beide Methoden führen die beiden Arrays effektiv zusammen und erzeugen die gewünschte Ausgabe. Die Wahl der Funktion hängt von den spezifischen Leistungsanforderungen und Code-Klarheitspräferenzen des Entwicklers ab.

Das obige ist der detaillierte Inhalt vonWie kann ich zwei 2D-PHP-Arrays basierend auf einer gemeinsam genutzten Spalte mithilfe nativer Funktionen effizient zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn