개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.18 05:20

array_merge_recursive 함수에 대해 질문합니다

목록
  • PostgreSQL마법사 13시간 전 2025.07.18 05:20 새글
  • 5
    1
제가 array_merge_recursive 함수를 사용하여 두 개의 배열을 합쳐보았는데, 중첩된 배열의 경우 합쳐지지 않고 원본 배열이 유지되는 것을 확인했습니다.

예를 들어, 다음과 같은 두 개의 배열이 있다고 가정해 보겠습니다.

php

$array1 = array(

    'a' => 1,

    'b' => array(

        'c' => 2,

        'd' => 3

    )

);



$array2 = array(

    'b' => array(

        'd' => 4,

        'e' => 5

    )

);



array_merge_recursive 함수를 사용하여 두 개의 배열을 합쳐보았을 때, 다음과 같은 결과가 나옵니다.

php

$array3 = array_merge_recursive($array1, $array2);

print_r($array3);



결과는 다음과 같습니다.

php

Array

(

    [a] => 1

    [b] => Array

        (

            [c] => 2

            [d] => 3

        )



)



중첩된 배열 'b'는 합쳐지지 않고 원본 배열이 유지되는 것을 확인했습니다.

array_merge_recursive 함수가 중첩된 배열을 어떻게 처리하는지 궁금합니다.

array_merge_recursive 함수를 사용하여 중첩된 배열을 합칠 때, 중첩된 배열이 어떻게 처리되는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  13시간 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 36,971건 / 9 페이지

검색

게시물 검색