티스토리 뷰
array_merge와 마찬가지로 배열을 연결함
하지만 연관 배열을 연결 할 경우 같은 키가 있을 때 array_merge는 나중에 입력된 값으로 최종 값이 되지만 array_merge_recursive는 중복된 키 값을 다시 배열로 만들어서 모든 키 값을 남기게 됨
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); ?>
|
|
위에 3개의 배열을 만들었습니다.
testArray1,2,3을 만들었고 각각의 배열 안에는 연관 배열을 이용해서 키와 값을 입력했습니다.
3개의 배열에는 키 값은 key1,key2라고 해서 같은 키를 주었고 값만을 다르게 하였습니다.
여기서 보시면 먼저 array_merge를 이용한 것입니다.
이것은 3개의 배열을 연결했을 때 같은 키 값이라서 맨 마지막에 입력된 테스트5,테스트6이라고 해서 값을 담게 됩니다.
이유는 3개의 배열의 키 값이 같기 때문에 중복된 키 값은 맨 마지막에 입력된 값을 남기기 때문에 이렇게 나옵니다.
그래서 array_merge_recursive를 이용해서 연결을 해보니 2번째 결과처럼 중복된 키 값 안에 다시 배열이 생성되면서 인덱스 배열로 값을 담고 있음을 알 수 있습니다.
따라서 중복된 키 값이 있을 경우에는 array_merge_recursive를 이용해도 좋지 않을까 생각합니다.
'[개발]프로그래밍 > php' 카테고리의 다른 글
[php] array_unique - 배열에서 중복 값 제거 (0) | 2020.11.11 |
---|---|
[php] array_combine - 배열 2개로 연관 배열 만들기 (0) | 2020.02.06 |
[php] array_merge - 배열과 배열 연결 (0) | 2020.02.04 |
[php] array_shift , array_pop - 배열의 앞/뒤 값 가져오기 (0) | 2020.01.30 |
[php] array_splice() - 배열 요소 삭제 (0) | 2020.01.29 |
- Total
- Today
- Yesterday