array_merge_recursive
funkcja
Łączy tablice jak array_merge, lecz przy kolizji kluczy tekstowych scala wartości w tablice zamiast je nadpisywać.
array_merge_recursive(array ...$arrays): array
array_merge_recursive działa jak array_merge, z jedną kluczową różnicą: gdy dwie tablice mają ten sam klucz tekstowy, ich wartości są scalane w tablicę (lub dołączane do istniejącej tablicy) zamiast się nadpisywać. Klucze numeryczne są reindeksowane tak samo jak w array_merge.
Przydaje się przy łączeniu zagnieżdżonych konfiguracji lub danych z wielu źródeł, gdy chcesz zachować wszystkie wartości pod tym samym kluczem.
<?php
declare(strict_types=1);
// Połącz tagi i oceny z dwóch źródeł:
$a = ['tagi' => ['php', 'web'], 'ocena' => 5];
$b = ['tagi' => ['programowanie'], 'ocena' => 4];
$wynik = array_merge_recursive($a, $b);
print_r($wynik);
// wynik:
// Array
// (
// [tagi] => Array
// (
// [0] => php
// [1] => web
// [2] => programowanie
// )
//
// [ocena] => Array
// (
// [0] => 5
// [1] => 4
// )
//
// )