Heim > Artikel > Backend-Entwicklung > Wie füge ich Arrays mit identischen Schlüsseln zusammen und behalte alle Daten bei?
Arrays mit identischen Schlüsseln zusammenführen: Die Einschränkungen von array_merge überwinden
In der Softwareentwicklung kann das Zusammenführen von Arrays mit identischen Schlüsseln eine häufige Aufgabe sein. Allerdings gelingt es der Funktion array_merge oft nicht, alle Elemente mit denselben Schlüsseln zu kombinieren, was zu Datenverlust führt.
Betrachten Sie das folgende Beispiel:
<code class="php">$A = array('a' => 1, 'b' => 2, 'c' => 3); $B = array('c' => 4, 'd' => 5); array_merge($A, $B); // Result [a] => 1 [b] => 2 [c] => 4 [d] => 5</code>
Wie gezeigt, ist der ursprüngliche Wert von 'c ' => 3 geht nach dem Zusammenführen verloren. Um dieses Problem anzugehen, ist ein alternativer Ansatz erforderlich.
Lösung: array_merge_recursive
Die Lösung liegt darin, stattdessen die Funktion array_merge_recursive zu verwenden. Im Gegensatz zu array_merge führt array_merge_recursive die Schlüssel und Werte der Eingabearrays rekursiv zusammen und behält alle Daten bei.
Der folgende Code demonstriert diesen Ansatz:
<code class="php">$A = array('a' => 1, 'b' => 2, 'c' => 3); $B = array('c' => 4, 'd' => 5); array_merge_recursive($A, $B); // Result [a] => 1 [b] => 2 [c] => [0 => 3, 1 => 4] [d] => 5</code>
Wie Sie sehen können, sind beide Werte mit verknüpft 'c' bleiben erhalten. Da es jedoch nur einen „c“-Schlüssel im zusammengeführten Array geben kann, wird das Ergebnis zu einem Array innerhalb eines Arrays.
Das obige ist der detaillierte Inhalt vonWie füge ich Arrays mit identischen Schlüsseln zusammen und behalte alle Daten bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!