array_merge
(PHP 4, PHP 5, PHP 7, PHP 8)
array_merge — Führt zwei oder mehr Arrays zusammen
Beschreibung
...$arrays
): arrayFügt die Elemente von zwei oder mehr Arrays zusammen, indem die Werte des einen an das Ende des vorherigen angehängt werden. Das daraus resultierende Array wird zurückgegeben.
Haben die angegebenen Arrays dieselben alphanumerischen Schlüssel, dann überschreibt der spätere Wert den vorhergehenden. Falls die Arrays aber numerische Schlüssel enthalten, überschreibt der spätere Wert den ursprünglichen Wert nicht und wird stattdessen angehängt.
Werte in den Eingangsarrays mit numerischen Schlüsseln werden im resultierenden Array mit aufsteigenden Schlüsseln, die bei Null beginnen, neu nummeriert.
Parameter-Liste
-
arrays
-
Variable Liste von zusammenzufügenden Arrays.
Rückgabewerte
Gibt das resultierende Array zurück. Bei einem Aufruf ohne Argument wird ein leeres Array zurückgegeben.
Changelog
Version | Beschreibung |
---|---|
7.4.0 | Diese Funktion kann nun ohne Parameter aufgerufen werden. Zuvor war mindestens ein Parameter erforderlich. |
Beispiele
Beispiel #1 array_merge()-Beispiel
<?php
$array1 = array("farbe" => "rot", 2, 4);
$array2 = array("a", "b", "farbe" => "grün", "form" => "trapezoid", 4);
$ergebnis = array_merge($array1, $array2);
print_r($ergebnis);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Array ( [farbe] => grün [0] => 2 [1] => 4 [2] => a [3] => b [form] => trapezoid [4] => 4 )
Beispiel #2 Ein einfaches array_merge()-Beispiel
<?php
$array1 = array();
$array2 = array(1 => "daten");
$ergebnis = array_merge($array1, $array2);
?>
Vergessen Sie nicht, dass numerische Schlüssel neu nummeriert werden!
Array ( [0] => daten )
Falls Array-Elemente des zweiten Arrays an das erste Array angehängt
werden sollen, ohne dass Elemente des ersten Arrays überschrieben werden
und neu indexiert wird, kann der Vereinigungs-Operator
+
verwendet werden:
<?php
$array1 = array(0 => 'null_a', 2 => 'zwei_a', 3 => 'drei_a');
$array2 = array(1 => 'eins_b', 3 => 'drei_b', 4 => 'vier_b');
$ergebnis = $array1 + $array2;
var_dump($ergebnis);
?>
Die Schlüssel des ersten Arrays werden beibehalten. Falls ein Schlüssel in beiden Arrays vorkommt, wird das Element des ersten Arrays verwendet und das entsprechende Element des zweiten Arrays ignoriert.
array(5) { [0]=> string(6) "null_a" [2]=> string(5) "zwei_a" [3]=> string(7) "drei_a" [1]=> string(5) "eins_b" [4]=> string(6) "vier_b" }
Beispiel #3 array_merge() mit nicht-Array-Typen
<?php
$anfang = 'foo';
$ende = array(1 => 'bar');
$ergebnis = array_merge((array)$anfang, (array)$ende);
print_r($ergebnis);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Array ( [0] => foo [1] => bar )
Siehe auch
- array_merge_recursive() - Führt ein oder mehrere Arrays rekursiv zusammen
- array_replace() - Ersetzt Elemente von übergebenen Arrays im ersten Array
- array_combine() - Erzeugt ein Array, indem es ein Array für die Schlüssel und ein anderes für die Werte verwendet
- array operators