Heim >Backend-Entwicklung >PHP-Tutorial >Wie füge ich Arrays mit passenden Schlüsseln in PHP zusammen und behalte dabei beide Werte bei?

Wie füge ich Arrays mit passenden Schlüsseln in PHP zusammen und behalte dabei beide Werte bei?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-28 18:43:29947Durchsuche

How to Merge Arrays with Matching Keys in PHP While Keeping Both Values?

Arrays mit passenden Schlüsseln in PHP zusammenführen

Beim Arbeiten mit Arrays in PHP ist es oft notwendig, mehrere Arrays zusammenzuführen. Wenn die Arrays jedoch übereinstimmende Schlüssel teilen, ist es wichtig, den Zusammenführungsprozess sorgfältig durchzuführen.

Erster Ansatz

Wie in den bereitgestellten Informationen erwähnt, haben Sie versucht, zusammenzuführen zwei Arrays mit array_merge(). Diese Funktion führt eine flache Zusammenführung durch und kombiniert die Werte beider Arrays. Da die Arrays jedoch überlappende Schlüssel haben, werden in diesem Fall die Werte des ersten Arrays durch die des zweiten überschrieben.

Eine alternative Lösung mit array_map()

Um das Problem überlappender Schlüssel zu beheben, können Sie array_map() verwenden. Diese Funktion wendet eine benutzerdefinierte Rückruffunktion auf jedes Element der angegebenen Arrays an und gibt ein neues Array basierend auf den geänderten Werten zurück.

In der bereitgestellten Lösung:

  1. Bereiten Sie die Arrays vor:

    • Die Arrays $array1 und $array2 werden mit den angegebenen Daten vorbereitet.
  2. Definieren Sie die Rückruffunktion:

    • Eine anonyme Rückruffunktion wird mit function() definiert. Es akzeptiert zwei Parameter, $a und $b, die Elemente aus $array1 bzw. $array2 darstellen.
  3. Schlüssel extrahieren und Wert ändern:

    • Im Rückruf wird der Schlüssel ($key) mit current(array_keys($a)) abgerufen.
    • Der Wert in $a wird so geändert, dass er eine „IP“ enthält. Schlüssel, der seinen ursprünglichen Wert enthält.
  4. Das zweite Array verarbeiten:

    • Das zweite Array ($b) wird verarbeitet Auf ähnliche Weise erhalten Sie seinen Schlüssel ($key) und ändern den Wert so, dass er einen Namensschlüssel enthält.
  5. Arrays zusammenführen:

    • Die geänderten Arrays ($a und $b) werden mit array_merge_recursive() zusammengeführt, das eine tiefe Zusammenführung durchführt und Arrays rekursiv zusammenführt.
  6. Speichern Sie die Ergebnisse:

    • Das zusammengeführte Ergebnis wird mit dem =-Operator in $results gespeichert.

Ausgabe

Die Ausgabe dieser Lösung ist ein Array, in dem die Schlüssel (Kamera1, Kamera2, Kamera3) zusammengeführt werden und die Werte unter den Schlüsseln „IP“ und „Name“ kombiniert werden, um ein strukturiertes Ergebnis zu liefern.

Das obige ist der detaillierte Inhalt vonWie füge ich Arrays mit passenden Schlüsseln in PHP zusammen und behalte dabei beide Werte bei?. 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