(PHP 4, PHP 5)
array_merge — Łączy jedną lub więcej tablic
$tablica1
[, array $tablica2
[, array $...
]] )array_merge() łączy elementy jednej lub więcej tablic razem, tak że wartości jednej tablicy są wstawiane na koniec poprzedniej tablicy. Funkcja ta zwraca tablicę wynikową.
Jeśli tablice wejściowe mają takie same klucze tekstowe, najnowsza wartość nadpisze starszą. Jednakże jeśli tablice będą miały takie same klucze liczbowe, późniejsza wartość nie nadpisze starszej, lecz zostanie dopisana na koniec tablicy.
Jeśli podana zostanie tylko jedna tablica i jest ona indeksowana numerycznie, to klucze tablicy zostaną przeindeksowane w sposób ciągły.
Przykład #1 Przykład użycia array_merge()
<?php
$tablica1 = array("kolor" => "czerwony", 2, 4);
$tablica2 = array("a", "b", "kolor" => "zielony", "kształt" => "trapezoid", 4);
$wynik = array_merge($tablica1, $tablica2));
print_r($wynik);
?>
Powyższy przykład wyświetli:
Array ( [kolor] => zielony [0] => 2 [1] => 4 [2] => a [3] => b [kształt] => trapezoid [4] => 4 )
Przykład #2 Prosty przykład użycia array_merge()
<?php
$tablica1 = array();
$tablica2 = array(1 => "dane");
$wynik = array_merge($tablica1, $tablica2);
?>
Nie zapomnij że klucze numeryczne będą przenumerowane!
Array ( [0] => dane )
Jeśli chcesz całkowicie zachować tablice i tylko dodać jedną na końcu drugiej, użyj operatora +:
<?php
$tablica1 = array();
$tablica2 = array(1 => "dane");
$wynik = $tablica1 + $tablica2;
?>
Klucze numeryczne pozostaną zachowane a co za tym idzie asocjacje zostaną niezmienione.
Array ( [1] => dane )
Zachowanie array_merge() zostało zmienione w PHP 5. Inaczej niż w PHP 4, array_merge() akceptuje teraz tylko parametry typu array. Jednakże można użyć rzutowania typów aby łączyć zmienne innych typów. Ilustruje to poniższy przykład.
Przykład #3 Przykład użycia array_merge() w PHP 5
<?php
$poczatek = 'foo';
$koniec = array(1 => 'bar');
$wynik = array_merge((array)$poczatek, (array)$koniec);
print_r($wynik);
?>
Powyższy przykład wyświetli:
Array ( [0] => foo [1] => bar )
Patrz także: array_merge_recursive(), array_combine() i operatory tablic.