Heim  >  Artikel  >  Backend-Entwicklung  >  Wie füge ich Arrays mit identischen Schlüsseln zusammen und behalte alle Daten bei?

Wie füge ich Arrays mit identischen Schlüsseln zusammen und behalte alle Daten bei?

DDD
DDDOriginal
2024-11-03 12:15:29607Durchsuche

How to Merge Arrays with Identical Keys and Preserve All Data?

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!

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