Forum und email

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.

Example#1 array_merge() példa

<?php
$tomb1 
= array("szín" => "piros"24);
$tomb2 = array("a""b""szín" => "zöld""alak" => "trapéz"4);
$eredmeny array_merge ($tomb1$tomb2);
print_r($eredmeny);
?>

A fenti példa a következő kimenetet adja:

Array
(
    [szín] => zöld
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [alak] => trapéz
    [4] => 4
)

Example#2 Egyszerű array_merge() példa

<?php
$tomb1    
= array();
$tomb2    = array(=> "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
)

Warning

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:

Example#3 array_merge() PHP 5 példa

<?php
$eleje 
'egy valami';
$vege  = array(=> 'másik valami');
$result array_merge((array)$eleje, (array)$vege);
print_r($result);
?>

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!