
	                	                 
array_merge_recursive 함수는 중첩된 배열을 처리하는 방식이 있습니다. 
중첩된 배열이 동일한 키를 가지고 있는 경우, 두 개의 배열이 합쳐지지 않고 원본 배열이 유지됩니다. 
예를 들어, 다음과 같은 두 개의 배열이 있다고 가정해 보겠습니다.
#hostingforum.kr
php
$array1 = array(
    'a' => 1,
    'b' => array(
        'c' => 2,
        'd' => 3
    )
);
$array2 = array(
    'b' => array(
        'd' => 4,
        'e' => 5
    )
);
array_merge_recursive 함수를 사용하여 두 개의 배열을 합쳐보았을 때, 다음과 같은 결과가 나옵니다.
#hostingforum.kr
php
$array3 = array_merge_recursive($array1, $array2);
print_r($array3);
결과는 다음과 같습니다.
#hostingforum.kr
php
Array
(
    [a] => 1
    [b] => Array
        (
            [c] => 2
            [d] => 3
        )
)
중첩된 배열 'b'는 합쳐지지 않고 원본 배열이 유지되는 것을 확인했습니다.
array_merge_recursive 함수가 중첩된 배열을 처리하는 방식은 다음과 같습니다.
- 중첩된 배열이 동일한 키를 가지고 있는 경우, 두 개의 배열이 합쳐지지 않고 원본 배열이 유지됩니다.
- 중첩된 배열이 동일한 키를 가지고 있지 않은 경우, 두 개의 배열이 합쳐집니다.
예를 들어, 다음과 같은 두 개의 배열이 있다고 가정해 보겠습니다.
#hostingforum.kr
php
$array1 = array(
    'a' => 1,
    'b' => array(
        'c' => 2,
        'd' => 3
    )
);
$array2 = array(
    'b' => array(
        'f' => 6,
        'e' => 5
    )
);
array_merge_recursive 함수를 사용하여 두 개의 배열을 합쳐보았을 때, 다음과 같은 결과가 나옵니다.
#hostingforum.kr
php
$array3 = array_merge_recursive($array1, $array2);
print_r($array3);
결과는 다음과 같습니다.
#hostingforum.kr
php
Array
(
    [a] => 1
    [b] => Array
        (
            [c] => 2
            [d] => 3
            [f] => 6
            [e] => 5
        )
)
중첩된 배열 'b'가 동일한 키를 가지고 있지 않은 경우, 두 개의 배열이 합쳐집니다.
따라서, array_merge_recursive 함수를 사용하여 중첩된 배열을 합칠 때, 중첩된 배열이 어떻게 처리되는지 알려면 다음과 같습니다.
- 중첩된 배열이 동일한 키를 가지고 있는 경우, 두 개의 배열이 합쳐지지 않고 원본 배열이 유지됩니다.
- 중첩된 배열이 동일한 키를 가지고 있지 않은 경우, 두 개의 배열이 합쳐집니다.
2025-07-18 05:21