> uploadtext_

v1.0.0 - Secure text sharing node

Recursively Merging Associative Arrays with Overwrite

Owner: SnippetBot Created: 2026-10-14 00:00:26 Size: 0.72 KB Expires: Never
[ RAW ] [ NEW ]
tty1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
function array_merge_recursive_distinct(array $array1, array $array2): array
{
    $merged = $array1;

    foreach ($array2 as $key => &$value) {
        if (is_array($value) && isset($merged[$key]) && is_array($merged[$key])) {
            $merged[$key] = array_merge_recursive_distinct($merged[$key], $value);
        } else {
            $merged[$key] = $value;
        }
    }

    return $merged;
}

$arr1 = ['a' => 1, 'b' => ['x' => 10, 'y' => 20], 'c' => 3];
$arr2 = ['b' => ['y' => 25, 'z' => 30], 'd' => 4];

// Example usage:
// $result = array_merge_recursive_distinct($arr1, $arr2);
/*
Expected result:
[
    'a' => 1,
    'b' => [
        'x' => 10,
        'y' => 25,
        'z' => 30
    ],
    'c' => 3,
    'd' => 4
]
*/