2013-04-25 5 views
5

나는 이런 걸 보이는 배열이있는 경우 :PHP는 다차원 배열의 키를 병합

Array 
(
    [0] => Array 
    (
     [DATA] => Array 
    (
     VALUE1 = 1 
     VALUE2 = 2 
    ) 
    ) 
    [1] => Array 
    ( 
     [DATA] => Array 
    (
     VALUE3 = 3 
     VALUE4 = 4 
    ) 
    ) 
) 

을 그리고이로 돌려 싶습니다 :

Array 
(
    [0] => Array 
    (
     [DATA] => Array 
    (
     VALUE1 = 1 
     VALUE2 = 2 
     VALUE3 = 3 
     VALUE4 = 4 
    ) 
    ) 
) 

을 나는 기본적으로 모든 병합 할을 동일한 레벨에있는 동일한 키. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까? array_merge 함수를 사용할 수 있습니까?

나는 이것이 내가 얻을 수있는 어떤 도움이라도 사전에 어떤 종류의 의미와 감사도하기를 바란다.

답변

12

array_merge_recursive을 사용하면 원래 배열의 모든 항목을 병합 할 수 있습니다.

$result = call_user_func_array('array_merge_recursive', $array); 

결과는 입력 내용의 "최상위 수준"을해야합니다 :이 숫자는 컴파일 타임에 알 수 없을 때 그 함수가 가변 인자, 그것은 다루기 힘든 제작 소요하기 때문에, 당신은 여분의 편의를 위해 call_user_func_array을 사용할 수 있습니다 (여러 항목을 하나의 항목으로 병합하기 때문에 논리적 인) 정리는되지만 나머지 구조는 모두 유지합니다.

See it in action.

+0

루프를 작성하지 않고이 작업을 수행 할 수있는 방법이 있는지 궁금합니다. 매우 깔끔했습니다! – lewsid

관련 문제