array_merge în PHP

Unește două sau mai multe tablouri într-unul singur.

Sintaxă
array_merge(array ...$tablouri): array

Ce face array_merge

array_merge pune elementele tablourilor unul după altul. Cheile numerice sunt renumerotate. Pentru cheile text, valoarea din ultimul tablou o suprascrie pe cea din tablourile anterioare.

Comportamentul cu chei text o face utilă pentru setări: pornești de la valorile implicite și le suprascrii cu cele alese de utilizator.

Parametri

Parametru Descriere
$tablouri Tablourile de unit.

Ce returnează

Un tablou nou.

Exemple

Exemplul 1: Liste simple

<?php
$fructe = ["mere", "pere"];
$legume = ["morcovi", "ardei"];

print_r(array_merge($fructe, $legume));

Rezultat

Array
(
    [0] => mere
    [1] => pere
    [2] => morcovi
    [3] => ardei
)

Exemplul 2: Setări implicite suprascrise

<?php
$implicit = ["tema" => "light", "limba" => "ro", "pe_pagina" => 10];
$utilizator = ["tema" => "dark"];

print_r(array_merge($implicit, $utilizator));

Rezultat

Array
(
    [tema] => dark
    [limba] => ro
    [pe_pagina] => 10
)

Exemplul 3: Scrierea scurtă cu …

<?php
$a = [1, 2];
$b = [3, 4];

print_r([...$a, ...$b]);

Rezultat

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)

Greșeli frecvente

  • Folosești + și te aștepți la același rezultat. $a + $b păstrează cheile deja existente în $a și ignoră cheile identice din $b.

Comenzi înrudite

  • array_push: Adaugă unul sau mai multe elemente la sfârșitul unui tablou.
  • array_keys / array_values: Returnează doar cheile (array_keys) sau doar valorile (array_values) unui tablou.