
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