Arrays zusammenführen
Die Funktion array_merge() führt Arrays zusammen und gibt ein kombiniertes Array zurück. Das resultierende Array beginnt mit dem ersten Eingabe-Array-Parameter und wird sequentiell in der Reihenfolge hinzugefügt, in der nachfolgende Array-Parameter erscheinen. Seine Form ist:
1 array array_merge (array array1 array2...,arrayN)
Führen Sie die Zellen eines oder mehrerer Arrays zusammen und die Werte in einem Array werden an das vorherige Array angehängt. Gibt das resultierende Array zurück.
Wenn das Eingabearray denselben Zeichenfolgenschlüsselnamen hat, überschreibt der Wert nach dem Schlüsselnamen den vorherigen Wert. Wenn das Array jedoch numerische Schlüssel enthält, überschreiben die nachfolgenden Werte nicht die ursprünglichen Werte, sondern werden an diese angehängt.
Wenn nur ein Array angegeben ist und das Array numerisch indiziert ist, werden die Schlüsselnamen nacheinander neu indiziert.
Beispiele sind wie folgt:
1 $face = array("J","Q","K","A");
2 $numbered = array("2", "3", "4", "5", "6", "7", "8", "9");
3 $cards = array_merge($face, $numbered); ($cards);
5 print_r($cards);
Dies gibt die unten gezeigten Ergebnisse zurück, wenn der Code ausgeführt wird:
1 Array ( [0] => A [1] = > 4 [2] => 3 [4] => ; 6 [9] => 8 [10] => 2 [11] => Sie können zwei oder mehr Arrays kombinieren, um ein Union-Array zu bilden. Der Unterschied zwischen den beiden besteht darin, dass die Funktion anders damit umgeht, wenn ein Schlüssel in einem Eingabearray bereits im Ergebnisarray vorhanden ist. array_merge() überschreibt die zuvor vorhandenen Schlüssel/Wert-Paare und ersetzt sie durch die Schlüssel/Wert-Paare im aktuellen Eingabearray, während array_merge_recursive() die beiden Werte zusammenführt, um ein neues Array mit den ursprünglichen Schlüsseln zu bilden ein Array-Name. Es gibt auch eine Form der Array-Zusammenführung, bei der Arrays rekursiv angehängt werden. Seine Form ist:
1 Array array_merge_recursive( Array-Schlüssel,Array-Werte)
Das Beispiel sieht wie folgt aus:
1 $class1 = array("John" => 100, "James" = > 85 );
2 $class2 = array("Micky" => 78, "John" => 45);
3 $classScores = array_merge_recursive($class1, $class2); 4 print_r( $classScores);
Dies gibt die folgenden Ergebnisse zurück:
1 Array ( [John] => Array ( [0] => 100 [1] => 45 ) [ James] => ; 85 [Micky] => 78 )
Zwei Arrays verbinden
Die Funktion array_combine() ruft ein neues Array ab, das aus einem Satz übermittelter Schlüssel und entsprechenden Werten besteht. Seine Form ist:
1 array array_merge(array array1,array array2[...,array arrayN])
Beachten Sie, dass die beiden Eingabearrays dieselbe Größe haben müssen und nicht leer sein dürfen. Beispiele sind wie folgt:
1 $abbreviations = array("AL",AK",AZ",AR"
2 $states = array("Alabama",Alaska",Arizona ", "Arkansas");
3 $stateMap = array_combine($abbreviations,$states);
4 print_r($stateMap);
Dies wird zurückgeben:
1 Array ( [ AL] => Alabama [AK] => Arizona [AR] =>