array_merge()
함수
array_merge()
함수는
하나 이상의 배열을 병합(merge, 합치다)하여 새로운 배열을 반환하는 함수입니다.
array_merge()
함수는 하나 이상의 배열을 병합하여 이전 배열의 끝에 값들을 추가합니다.- 이 함수의 반환 값은 병합된 배열입니다.
- 병합하는 배열들이 동일한 문자열 키를 가지고 있다면, 나중에 나온 배열의 값이 이전 배열의 값을 덮어씁니다.
- 하지만, 병합하는 배열들이 숫자 키(인덱스)를 가지고 있다면, 나중에 나온 값은 원래 값을 덮어쓰지 않고 추가됩니다. 숫자 키의 경우, 덮어쓰지 않고 새로운 키와 함께 값을 추가합니다.
- 병합하는 배열의 숫자 키를 가진 값들은 결과 배열에서 0부터 시작하는 연속된 키로 재정렬됩니다.
array_merge()
함수의 형식은 다음과 같습니다.
구문
매개변수
array1
, array2
, array3
, ...
: 병합하고자 하는 하나 이상의 배열입니다. 이 함수는 하나 이상의 배열을 인수로 받을 수 있으며, 이러한 배열들을 순서대로 병합하여 새로운 배열을 생성합니다.
반환 값
병합된 배열이거나, 아무 인수도 없이 호출한 경우 빈 배열이 됩니다.
중복 항목 처리
array_merge()
함수를 올바르게 사용하기 위해서는 array_merge()
함수가 중복 항목을 어떻게 처리하는지 이해해야 합니다. 중복된 키 또는 인덱스가 있는 경우 어떻게 작동하는지 예제를 통해 살펴보겠습니다.
- 문자열 키의 중복 처리
- 숫자 키(인덱스)의 중복 처리
- 문자열 키와 숫자 키의 중복 처리
문자열 키의 중복 처리
병합하는 배열들이 동일한 문자열 키를 가지고 있다면, 나중에 나온 배열의 값이 이전 배열의 값을 덮어씁니다. 즉, 나중에 나온 값으로 대체됩니다.
$array1
과$array2
의 중복된 문자열 키'b'
가 있습니다.array_merge()
함수는 중복 키'b'
에 대해서는 뒤에 나온 배열인$array2
의 값('blueberry'
)으로 덮어씁니다.
숫자 키(인덱스)의 중복 처리
병합하는 배열들이 숫자 키(인덱스)를 가지고 있다면, 나중에 나온 값은 원래 값을 덮어쓰지 않고 추가됩니다. 숫자 키의 경우, 덮어쓰지 않고 새로운 키와 함께 값을 추가합니다.
$array1
과$array2
의 중복된 숫자 키'1'
이 있습니다.array_merge()
함수는 중복 키'1'
에 대해서는 뒤에 나온 배열인$array2
의 값('blueberry'
)을 덮어쓰지 않고, 숫자 키를 증가시켜 새로운 키'3'
으로 값을 추가합니다.
문자열 키와 숫자 키의 중복 처리
- 문자열 키
'color'
의 경우,$array2
의 값'orange'
로 덮어쓰여집니다. - 숫자 키(인덱스) 2와 3의 경우,
$array2
의 값'green'
과'orange'
가 추가됩니다.
숫자 키와 문자열 키의 중복 처리는 array_merge()
함수를 이해하는 데 중요한 요소 중 하나입니다. 이를 이해하면 병합된 배열의 결과가 예상한 대로 나오는지를 파악하고, 데이터 구조를 올바르게 유지하는 데 도움이 됩니다.
다차원 연관 배열 합치기
아래의 예제에서는 array_merge()
함수를 이용한 다차원 연관 배열 합치기 예제입니다.
위의 예제는 다음과 같은 점을 주의하여 작성되었습니다.
- 첫 번째 배열과 두 번째 배열의 키가 중복되지 않도록 주의했습니다.
- 첫 번째 배열의 주소 정보는 두 번째 배열의 주소 정보로 대체되지 않도록 했습니다.
- 두 번째 배열의 전화번호와 이메일 정보는 첫 번째 배열에 추가되었습니다.
이 예제를 응용하여 다양한 상황에서 다차원 연관배열을 병합할 수 있습니다.