PHP kézikönyv
Előző |  | Következő

# array_merge

(PHP 4, PHP 5)

array_merge -- Egyesít egy vagy több tömböt

## Leírás

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

Az array_merge() egyesíti egy vagy több tömb elemeit úgy, hogy a második tömb elemeit hozzáfűzi az elsőéhez, és visszadja az eredményül kapott tömböt.

Ha a megadott tömbökben ugyanolyan string kulcsok vannak, akkor a későbbi felülírja az előzőt. Ha a tömböknek ugyanolyan numerikus indexei vannak, akkor nem ez történik, hanem mindegyiket új értékként a tömbbe illeszti.

Ha csak egy tömböt adsz meg, és az számokkal van indexelve, a kulcsok újraindexelődnek folytonos módon. Asszociatív tömbök esetén a többszörös bejegyzéseket az utolsó fogja képviselni. Lásd a harmadik példát.

Példa 1. array_merge() példa
`<?php $tomb1 = array("szín" => "piros", 2, 4); $tomb2 = array("a", "b", "szín" => "zöld", "alak" => "trapéz", 4); $eredmeny = array_merge ($tomb1, $tomb2); print_r($eredmeny); ?>`
Az $eredmeny tömb értéke:
`Array ( [szín] => zöld [0] => 2 [1] => 4 [2] => a [3] => b [alak] => trapéz [4] => 4 )`

Példa 2. Egyszerű array_merge() példa
`<?php $tomb1 = array(); $tomb2 = array(1 => "adat"); $eredmeny = array_merge($tomb1, $tomb2); ?>`
Nem szabad elfelejteni, hogy a numerikus indexeket újraszámozza a függvény!
`Array ( [0] => adat )`
Ha teljesen meg kell őrizni a tömb indexeit, akkor a + operátorral kell egymáshoz fűzni azokat:
`$tomb1 = array(); $tomb2 = array(1 => "adat"); $eredmeny = $tomb1 + $tomb2;`
A numerikus kulcsot megőrizzük, ezért a társítás megmarad.
`Array ( [1] => adat )`

Példa 3. array_merge() példa
`<?php $tomb1 = array(0 => "jay", 1 => "bob", 2 => "randal", 3 => "dante"); $tomb2 = array("jay" => "bob", "randal" => "dante", "jay" => "jason"); unset($tomb1[2]); $eredmeny1 = array_merge($tomb1); $eredmeny2 = array_merge($tomb2); print_r($eredmeny1); print_r($eredmeny2); ?>`
A fenti példa a következő kimenetet adja:
`Array ( [0] => jay [1] => bob [2] => dante ) Array ( [jay] => jason [randal] => dante )`

> Megjegyzés: A közös indexek "elnyomják" egymást, ami azt jelenti, hogy az első index előforduláshoz tartozó értéket fogja az eredmény tartalmazni.

Figyelem
Az array_merge() függvény viselkedése a PHP 5-ben megváltozott. Ellentétben a korábbiakkal, már csak tömb típusú paramétereket fogad el. Ez típuskényszerítéssel áthidalható. Hogy hogyan, lásd az alábbi példát:
Példa 4. array_merge() PHP 5 példa
`<?php $eleje = 'egy valami'; $vege = array(1 => 'másik valami'); $result = array_merge((array)$eleje, (array)$vege); ?>`
A fenti példa a következő kimenetet adja:
`Array ( [0] => egy valami [1] => másik valami )`

Lásd még az array_merge_recursive() és az array_combine() függvényt valamint a tömboperátorokat!

Előző | Tartalom | Következő
array_merge_recursive | Fel | array_multisort