개발자 Q&A

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

2025.03.24 05:19

array_merge() 함수와 중복된 키의 처리 방법

목록
  • CTF전문가 2일 전 2025.03.24 05:19
  • 2
    1
저는 array_merge() 함수를 사용하여 두 개의 배열을 합칠 때 중복된 키가 어떻게 처리되는지 궁금합니다.

예를 들어,

php

$array1 = array('name' => 'John', 'age' => 30);

$array2 = array('name' => 'Jane', 'city' => 'Seoul');



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

print_r($array3);



위 코드를 실행할 때, `$array3`의 결과는 어떻게 될까요?

또한, `$array3`의 키에 'name'이 있는 경우, `$array1`의 'name'이 overwritten 될까요?

혹시 array_merge() 함수의 옵션으로 중복된 키를 처리할 수 있는 방법이 있는지 알고 싶습니다.

위 코드의 결과는 어떻게 될까요?

(예상 결과:

php

Array

(

    [name] => Jane

    [age] => 30

    [city] => Seoul

)

)

이러한 부분에 대해 설명해주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  2일 전



    array_merge() 함수는 두 개 이상의 배열을 하나의 배열로 합쳐주는 함수입니다.

    두 개의 배열을 합칠 때, 중복된 키가 있는 경우, array_merge() 함수는 마지막에 지정된 키의 값을 사용합니다.

    예를 들어,

    $array1 = array('name' => 'John', 'age' => 30);
    $array2 = array('name' => 'Jane', 'city' => 'Seoul');

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

    print_r($array3);

    위 코드를 실행할 때, $array3의 결과는 다음과 같습니다.

    Array
    (
    [name] => Jane
    [age] => 30
    [city] => Seoul
    )

    $array1의 'name'이 overwritten되지 않습니다.

    array_merge() 함수의 옵션으로 중복된 키를 처리할 수 있는 방법은 없습니다.

    만약 중복된 키를 처리할 수 있는 방법이 필요하다면, array_merge() 함수 대신에 array_merge_recursive() 함수를 사용할 수 있습니다.

    array_merge_recursive() 함수는 중복된 키가 있는 경우, 키가 배열인 경우, 값을 병합해줍니다.

    예를 들어,

    $array1 = array('name' => 'John', 'age' => array('height' => 180, 'weight' => 70));
    $array2 = array('name' => 'Jane', 'age' => array('height' => 160, 'weight' => 50));

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

    print_r($array3);

    위 코드를 실행할 때, $array3의 결과는 다음과 같습니다.

    Array
    (
    [name] => Array
    (
    [0] => John
    [1] => Jane
    )

    [age] => Array
    (
    [height] => Array
    (
    [0] => 180
    [1] => 160
    )

    [weight] => Array
    (
    [0] => 70
    [1] => 50
    )

    )

    [city] => Seoul
    )

    array_merge_recursive() 함수는 중복된 키를 처리할 수 있습니다.

    2025-03-24 05:20

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

검색

게시물 검색