Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung von 2 Methoden zum Zusammenführen von Arrays in PHP

Detaillierte Erklärung von 2 Methoden zum Zusammenführen von Arrays in PHP

墨辰丷
墨辰丷Original
2018-05-30 15:32:171589Durchsuche

Jeder weiß, dass Sie + oder array_merge verwenden können, um zwei Arrays in PHP zu kombinieren, aber es gibt immer noch Unterschiede zwischen ihnen, und wenn Sie diese Unterschiede nicht klar verstehen, wird es im Projekt fatal sein! Dieser Artikel fasst zwei Methoden zum Zusammenführen von Arrays in PHP zusammen. Freunde in Not können darauf zurückgreifen.

Vorwort

Ich habe die Funktion array_merge() schon früher zum Zusammenführen von Arrays verwendet, bin aber kürzlich darauf gestoßen, als ich den Job gewechselt habe Was ich damals wollte, war, die beiden Arrays in Strings umzuwandeln und sie dann für die Ausgabe in Arrays zusammenzuführen. Danach sprach Bulabula über die Grundlagen Arrays, und dann liegt es tatsächlich an Erfahrung oder zu wenig Code-Schreiben. Heute habe ich auf Baidu gesucht und festgestellt, dass es ein „+“-Zeichen gibt,

array_merge_recursive(), das auch zum Zusammenführen von Arrays verwendet werden kann, werde ich, basierend auf meiner Erinnerung, die Frage aufschreiben und einen Blick darauf werfen:

$a = array('color'=>'red',5,6); 
$b = array('color'=>'blue','type'=>'fruit',6,7); 
$arr = array_merge($a,$b); 
var_dump($arr);

array (size=6)
 'color' => string 'blue' (length=4)
 0 => int 5
 1 => int 6
 'type' => string 'fruit' (length=5)
 2 => int 6
 3 => int 7

Die Anforderung lautet: Der gleiche Effekt wird ohne Verwendung von array_merge() erzielt;

(array_merge() Durch das Zusammenführen von Arrays werden die Schlüsselwerte der zugehörigen Arrays überschrieben Formulararray im vorherigen Array mit demselben Schlüsselwert, und das Indexformular drückt den Schlüsselwert (Zusammenführen nacheinander)

1 Verwenden Sie zuerst die Funktion array_merge_recursive() zum Zusammenführen:

$a = array('color'=>'red',5,6);
$b = array('color'=>'blue','type'=>'fruit',6,7);
$arr = array_merge_recursive($a,$b);
var_dump($arr);

Ausgabeergebnis:

array (size=6)
 'color' => 
 array (size=2)
  0 => string 'red' (length=3)
  1 => string 'blue' (length=4)
 0 => int 5
 1 => int 6
 'type' => string 'fruit' (length=5)
 2 => int 6
 3 => int 7

Wie zu sehen ist Aus dem Ergebnis konvertiert die Funktion array_merge_recursive() Werte mit demselben Schlüsselwert in ein neues assoziatives Array. Geben Sie diesen Schlüsselwert zurück und verwenden Sie ihn als Schlüsselwert des zweidimensionalen Arrays. Andere Indexformen sind davon nicht betroffen.

Im Vergleich zu array_merge() gibt es keine Situation, in der der nachfolgende Array-Schlüssel mit dem vorherigen übereinstimmt und der vorherige Wert überschrieben wird.

2. Schauen Sie sich die Situation beim Zusammenführen von Arrays mit dem „+“-Zeichen an:

$a = array('color'=>'red',5,6);
$b = array('color'=>'blue','type'=>'fruit',6,7);
$arr = $a+$b;
var_dump($arr);

Ausgabeergebnis:

array (size=4)
 'color' => string 'red' (length=3)
 0 => int 5
 1 => int 6
 'type' => string 'fruit' (length=5)

Aus diesem Ergebnis ist ersichtlich, dass die Verwendung des „+“-Zeichens zum Zusammenführen von Arrays bedeutet, dass die Vorderseite die Rückseite bedeckt. Das ist das Gegenteil von array_merge(). Und es ist rücksichtsloser als array_merge(). Wenn der Inhalt des Arrays in Indexform angezeigt wird und die Schlüsselwerte nach dem Zusammenführen gleich sind, werden sie überschrieben!

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.


Verwandte Empfehlungen:

PHPs Methode zur Implementierung polymorpher Anwendungen basierend auf Schnittstellentechnologie

PHP implementiert die Methode zum Sortieren mehrdimensionaler Arrays nach einem bestimmten Schlüsselwert

PHP implementiert den sofortigen Zugriff Dritter auf Logistikaktualisierungen

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung von 2 Methoden zum Zusammenführen von Arrays in PHP. 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