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
//         )
//
// )
📘 Naucz się w lekcji →