Heim >Backend-Entwicklung >PHP-Tutorial >2 Möglichkeiten, Arrays in PHP zusammenzuführen
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 aufgrund 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 besteht darin, den gleichen Effekt zu erzielen, ohne array_merge()
zu verwenden;
(array_merge()
Durch das Zusammenführen von Arrays werden die Schlüsselwerte überschrieben des zugehörigen Formulararrays im vorherigen Array mit derselben Indexform werden in der Reihenfolge der Schlüsselwerte zusammengeführt)
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 es sein kann Aus dem Ergebnis geht hervor, dass die Funktion array_merge_recursive()
Werte mit demselben Schlüsselwert in Form eines neuen assoziativen Arrays behandelt und diesen Schlüsselwert als Schlüsselwert des zweidimensionalen Arrays verwendet nicht beeinträchtigt werden.
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 wir uns 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 überschreibt die Rückseite und array_merge()
Im Gegenteil, 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 überschrieben!
Verwandte Empfehlungen:
PHP führt zwei eindimensionale Arrays zusammen
PHP-Array-Merge-Funktion array_merge()
Das obige ist der detaillierte Inhalt von2 Möglichkeiten, Arrays in PHP zusammenzuführen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!