티스토리 뷰

1
  array_merge_recursive - 개념


array_merge와 마찬가지로 배열을 연결함

하지만 연관 배열을 연결 할 경우 같은 키가 있을 때 array_merge는 나중에 입력된 값으로 최종 값이 되지만 array_merge_recursive는 중복된 키 값을 다시 배열로 만들어서 모든 키 값을 남기게 됨 



2
 array_merge_recursive  예제



PHP
 
코드


1
2
3
4
5
6
7
8
9
10
11
12
13

<?php

$testArray1 = array("key1"=>"테스트1","key2"=>"테스트2");

$testArray2 = array("key1"=>"테스트3","key2"=>"테스트4");

$testArray3 = array("key1"=>"테스트5","key2"=>"테스트6");

$resultArray1 = array_merge($testArray1,$testArray2,$testArray3);


 print_r($resultArray1);

        echo "<br><br> " ;

$resultArray2 = array_merge_recursive($testArray1,$testArray2,$testArray3);

 print_r($resultArray2);

?>



결과
 
화면


array_merge_recursive 결과 이미지



코드
 
설명


위에 3개의 배열을 만들었습니다.

testArray1,2,3을 만들었고 각각의 배열 안에는 연관 배열을 이용해서 키와 값을 입력했습니다.

3개의 배열에는 키 값은 key1,key2라고 해서 같은 키를 주었고 값만을 다르게 하였습니다.


여기서 보시면 먼저 array_merge를 이용한 것입니다.

이것은 3개의 배열을 연결했을 때 같은 키 값이라서 맨 마지막에 입력된 테스트5,테스트6이라고 해서 값을 담게 됩니다.

이유는 3개의 배열의 키 값이 같기 때문에 중복된 키 값은 맨 마지막에 입력된 값을 남기기 때문에 이렇게 나옵니다.


그래서 array_merge_recursive를 이용해서 연결을 해보니 2번째 결과처럼 중복된 키 값 안에 다시 배열이 생성되면서 인덱스 배열로 값을 담고 있음을 알 수 있습니다.


따라서 중복된 키 값이 있을 경우에는 array_merge_recursive를 이용해도 좋지 않을까 생각합니다.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday