Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP에서 원래 키를 유지하면서 두 개의 배열 병합하기

PHP에서 두 개의 배열을 병합하면서 각 요소의 원래 키를 그대로 유지하고 싶다면 배열 합집합 연산자(+)를 사용하면 됩니다.

흔히 사용되는 array_merge() 함수와 달리, + 연산자는 키가 중복될 경우 왼쪽(앞쪽) 배열의 값을 우선하여 유지하고 숫자 인덱스도 재정렬하지 않습니다. 따라서 원본 키 구조를 반드시 보존해야 하는 상황에서 매우 유용합니다.

예제 1: 두 배열 병합하기

<?php
   $arr1 = array( "p"=>"150", "q"=>"100", "r"=>"120", "s"=>"110");
   $arr2 = array("t"=>"115", "u"=>"103", "v"=>"105", "w"=>"125" );
   var_dump ($arr1 + $arr2);
?>

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

출력 결과

array(8) {
   ["p"]=> string(3) "150"
   ["q"]=> string(3) "100"
   ["r"]=> string(3) "120"
   ["s"]=> string(3) "110"
   ["t"]=> string(3) "115"
   ["u"]=> string(3) "103"
   ["v"]=> string(3) "105"
   ["w"]=> string(3) "125"
}

출력 결과를 보면 첫 번째 배열 $arr1의 네 개 요소와 두 번째 배열 $arr2의 네 개 요소가 모두 원래 키("p", "q", "r", "s", "t", "u", "v", "w")를 그대로 유지한 채 하나의 배열로 합쳐진 것을 확인할 수 있습니다.

예제 2: 빈 배열과 병합하기

이번에는 빈 배열과 다른 배열을 병합하는 또 다른 예제를 살펴보겠습니다.

<?php
   $arr1 = array();
   $arr2 = array("a" => "Jacob");
   var_dump ($arr1 + $arr2);
?>

출력 결과

array(1) {
   ["a"]=>
   string(5) "Jacob"
}

빈 배열에 + 연산자로 다른 배열을 더하면 해당 배열이 그대로 반환됩니다. 이 경우에도 키 "a"와 값 "Jacob"은 어떠한 변경 없이 그대로 유지되어 출력되는 것을 볼 수 있습니다.