PHP Portal » PHP Handbuch » array_merge

Werbung

array_merge


(PHP 4, PHP 5)

array_mergeFührt ein oder mehrere Arrays zusammen

Beschreibung

array array_merge ( array $array1 [, array $array2 [, array $... ]] )

array_merge() fügt die Elemente von einem oder mehreren Arrays zusammen, indem die Werte des einen an das Ende des anderen angehängt werden. Das daraus resultierende Array wird zurückgegeben.

Haben die angegebenen Arrays die selben String-Schlüssel, dann wird der hintere Wert dieses Schlüssels den vorhergehenden überschreiben. Haben die Arrays den gleichen numerischen Schlüssel, dann wird der hintere Wert den vorhergehenden nicht überschreiben, sondern angehängt.

Falls nur ein Array angegeben und dieses numerisch indiziert ist, wird das Array fortlaufend neu nummeriert.

PHP Code
1
2
3
4
$array1 = array("farbe" => "rot", 2, 4); $array2 = array("a", "b", "farbe" => "grün", "form" => "trapezoid", 4); $result = array_merge($array1, $array2); print_r($result);

Nun ist $result:

Array
(
    [farbe] => grün
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [form] => trapezoid
    [4] => 4
)

PHP Code
1
2
3
$array1 = array(); $array2 = array(1 => "data"); $result = array_merge($array1, $array2);

Vergessen Sie nicht, dass numerische Schlüssel neu numeriert werden!

Array
(
    [0] => data
)

Wenn Sie die Arrays komplett erhalten und nur eines an das andere anhängen wollen, verwenden Sie den Operator +:

PHP Code
1
2
3
$array1 = array(); $array2 = array(1 => "data"); $result = $array1 + $array2;

Der numerische Schlüssel sowie die Assoziation bleiben erhalten.

Array
(
    [1] => data
)
Warnung

Das Verhalten von array_merge() wurde in PHP 5 geändert. Anders als in PHP 4 akzeptiert array_merge() jetzt nur noch Parameter vom Typ array. Man kann jedoch Typumwandlung verwenden, um andere Typen zusammenzuführen. Schauen Sie für Details in das Beispiel unten.

PHP Code
1
2
3
4
$beginning = 'foo'; $end = array(1 => 'bar'); $result = array_merge((array)$beginning, (array)$end); print_r($result);

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => foo
    [1] => bar
)

Siehe auch array_merge_recursive(), array_combine() und array operators.