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
)
*/
?>
$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
)
*/
?>
$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
)
*/
?>
$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
)
*/
?>
$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