array_merge

 

PHP -> Funkcie -> Array funkcie -> array_merge

Syntax


array array_merge ( array pole1 [, array pole2 [, array ...] ] )

Popis


Príkaz jazyka PHP
array_merge() spája elementy dvoch alebo viacerých polí dokopy tak, že hodnoty jedného sú pripojené na koniec predchádzajúceho. Vracia výsledné pole.

Ak majú vstupné polia rovnaké reťazcové kľúče, tak neskoršia hodnota pre ten kľúč prepíše predchádzajúci. Ale ak polia obsahujú číselné kľúče, neskoršia hodnota neprepíše pôvodnú hodnotu, ale pripojí sa k nej.

Ak je dané iba jedno pole a pole je indexované numericky, kľúče sa preindexujú súvislým spôsobom. Pre asociatívne polia, duplikátne položky sa spoja do posledného. Pozrite si príklad tri pre detaily.

Príklady


<?php
$pole1 = array("farba" => "cervena", 2, 4);
$pole2 = array("a", "b", "farba" => "zelena", "tvar" => "trapezoid", 4);
$vysledok = array_merge($pole1, $pole2);
print_r($vysledok);

/* $vysledok je:
Array
(
    [farba] => zelena
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [tvar] => trapezoid
    [4] => 4
)
*/

?>


<?php
$pole1 = array();
$pole2 = array(1 => "data");
$vysledok = array_merge($pole1, $pole2);
/* Nezabudnite, že číselné kľúče sa prečíslujú!

Array
(
    [0] => data
)
*/

?>


Ak chcete úplne zachovať polia a chcete ich k sebe pripojiť, použite operátor +:
<?php
$pole1 = array();
$pole2 = array(1 => "data");
$result = $pole1 + $pole2;

/*Číselný klúč sa zachováva, a teda asociácia zostáva.

Array
(
    [1] => data
)
*/

?>


<?php
$array_one = array(0 => "jay", 1 => "bob", 2 => "randal", 3 => "dante");
$array_two = array("jay" => "bob", "randal" => "dante", "jay" => "jason");

unset($array_one[2]);

$result_one = array_merge($array_one);
$result_two = array_merge($array_two);

print_r($result_one);
print_r($result_two);

/* Výstup je:
Array
(
    [0] => jay
    [1] => bob
    [2] => dante
)
Array
(
    [jay] => jason
    [randal] => dante
)
*/

?>


Poznámka: Zdieľané kľúče sa prepisujú na základe 'prvý-príde prvý slúži'.

Pozri aj


array_merge_recursive, array_combine, operátory poľa v PHP



vytlačiť článok  hľadať súvisiace články 
Vyhľadávanie na stránke
Reklama
Náhodný obrázok
náhodný obrázok
Kontakty

Martin Kasman, M Software
Smreková 3095/23
Email: martin@kasman.sk

Telefón: 0908 270 294