2011-09-27 7 views
2

두 개의 다른 쿼리 결과를 결합하여 템플릿으로 출력하려고하는 내 꼬리를 쫓고 있습니다.두 개의 다차원 연관 배열 병합

나는 desired_result를 얻기 위해 model_data와 entry_data에서 해당 하위 배열을 병합하려고합니다. 그런 다음 desired_result를 반복하고 템플릿에 값을 인쇄합니다.

모든 도움을 주시면 대단히 감사하겠습니다.

model_data

array(2) { 
    [0]=> 
    array(2) { 
    ["entry_id"]=> string(3) "192" 
    ["field_id_49"]=> string(10) "Model Name" 
    } 
    [1]=> 
    array(2) { 
    ["entry_id"]=> string(3) "193" 
    ["field_id_49"]=> string(5) "MN123" 
    } 
} 

entry_data

array(2) { 
    [0]=> 
    array(2) { 
    ["uri"]=> string(24) "/products/product-title/" 
    ["title"]=> string(13) "Product Title" 
    } 
    [1]=> 
    array(2) { 
    ["uri"]=> string(22) "/products/lorem-ipsum/" 
    ["title"]=> string(11) "Lorem Ipsum" 
    } 
} 

desired_result

array(2) { 
    [0]=> 
    array(4) { 
    ["entry_id"]=> string(3) "192" 
    ["field_id_49"]=> string(10) "Model Name"  
    ["uri"]=> string(24) "/products/product-title/" 
    ["title"]=> string(13) "Product Title"  
    } 
    [1]=> 
    array(4) { 
    ["entry_id"]=> string(3) "193" 
    ["field_id_49"]=> string(5) "MN123"  
    ["uri"]=> string(22) "/products/lorem-ipsum/" 
    ["title"]=> string(11) "Lorem Ipsum" 
    } 
} 
+0

원하는 결과가 정확합니까? 나는 논리를 실제로 이해할 수 없다. –

+0

model_data [0]을 entry_data [0], model_data [1]을 entry_data [1]과 병합해야합니다. 둘 다 배열이 계속 추가되므로 배열 키를 늘려야합니다. – juddlyon

답변

7
foreach($model_data as $key => $value){ 
    $result[$key] = array_merge($entry_data[$key], $model_data[$key]); 
} 
+0

완벽 했어, 내가 한 것. 나는 너무 오랫동안 내 화면을 쳐다보고 지나치게 복잡 해졌다. 고맙습니다! – juddlyon

+0

@juddlyon 다행스럽게도 – amosrivera

+0

은 2 차원 배열에서만 작동합니다. 그래도 나를 위해 충분히 좋았다. – ProblemsOfSumit