Ce face array_merge_recursive
Spre deosebire de array_merge, care suprascrie valorile cu aceeași cheie text, array_merge_recursive le păstrează pe toate: le pune împreună într-un tablou.
Comportamentul este util la combinarea listelor (de exemplu etichete din mai multe surse), dar surprinde la setări: o valoare simplă suprascrisă devine tablou.
Parametri
| Parametru | Descriere |
|---|---|
$arrays |
Tablourile de unit. |
Ce returnează
Un tablou nou.
Exemple
Exemplul 1: Liste combinate
<?php
$a = ["etichete" => ["php", "mysql"]];
$b = ["etichete" => ["css"]];
print_r(array_merge_recursive($a, $b));
Rezultat
Array
(
[etichete] => Array
(
[0] => php
[1] => mysql
[2] => css
)
)
Exemplul 2: Surpriza la valori simple
Cu array_merge, tema ar fi fost înlocuită. Aici devine un tablou cu ambele valori.
<?php
$implicit = ["tema" => "light"];
$utilizator = ["tema" => "dark"];
print_r(array_merge($implicit, $utilizator));
print_r(array_merge_recursive($implicit, $utilizator));
Rezultat
Array
(
[tema] => dark
)
Array
(
[tema] => Array
(
[0] => light
[1] => dark
)
)
Greșeli frecvente
- Folosești
array_merge_recursivepentru setări suprascrise. Pentru înlocuire în adâncime foloseștearray_replace_recursive.
Comenzi înrudite
array_merge: Unește două sau mai multe tablouri într-unul singur.array_replace: Înlocuiește valorile unui tablou cu valorile de la aceleași chei din alte tablouri.