Heim  >  Artikel  >  Backend-Entwicklung  >  Wie füge ich PHP-Arrays mit passenden Schlüsseln zusammen und erstelle Unterarrays?

Wie füge ich PHP-Arrays mit passenden Schlüsseln zusammen und erstelle Unterarrays?

DDD
DDDOriginal
2024-10-27 20:33:30967Durchsuche

How to Merge PHP Arrays with Matching Keys and Create Sub-Arrays?

PHP-Array-Zusammenführung: Arrays mit passenden Schlüsseln kombinieren

Diese Frage untersucht, wie man zwei PHP-Arrays zusammenführt, die dieselben Schlüssel teilen. Lassen Sie uns auf das Problem und die Lösung eingehen.

Problem:

Betrachten Sie die folgenden zwei Arrays:

  • Erstes Array: Schlüssel-Wert-Paare mit Schlüsseln, die Kameranummern darstellen, und Werten, die IP-Adressen darstellen.
  • Zweites Array: Schlüssel-Wert-Paare mit denselben Kameranummern, aber unterschiedlichen Werten, die Kameranamen darstellen.

Das Ziel ist die Zusammenführung Diese Arrays durch Aggregieren der Werte, die jedem übereinstimmenden Schlüssel entsprechen.

Lösung mit array_map:

Array_merge_recursive kann zwar Arrays rekursiv zusammenführen, erfordert jedoch Arrays mit übereinstimmenden Schlüssel-Wert-Paaren . Eine benutzerdefinierte Lösung mit array_map kann das gewünschte Ergebnis erzielen:

$results = array();

array_map(function($a, $b) use (&$results) {
    $key = current(array_keys($a));
    $a[$key] = array('ip' => $a[$key]);
    $key = current(array_keys($b));
    $b[$key] = array('name' => $b[$key]);
    $results += array_merge_recursive($a, $b);
}, $array1, $array2);

Erklärung:

  • Für jeden Schlüssel im ersten Array wird ein Unter- Array mit einem Schlüssel „ip“ und einem Wert, der auf den ursprünglichen Wert gesetzt ist.
  • In ähnlicher Weise wird für jeden Schlüssel im zweiten Array ein Unterarray mit einem Schlüssel „name“ und einem Wert erstellt, der auf den ursprünglichen Wert gesetzt ist .
  • Schließlich wird array_merge_recursive verwendet, um die Unterarrays mit derselben Kameranummer zusammenzuführen.

Die Ausgabe ist ein Array mit Schlüsseln, die Kameranummern und Werte als Unterarrays darstellen „ip“- und „name“-Eigenschaften.

Durch die Nutzung von array_map und benutzerdefinierter Schlüsselmanipulation führt diese Lösung Arrays mit passenden Schlüsseln effizient zusammen und behält dabei gleichzeitig die Schlüssel-Wert-Struktur bei.

Das obige ist der detaillierte Inhalt vonWie füge ich PHP-Arrays mit passenden Schlüsseln zusammen und erstelle Unterarrays?. 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