开发者

Merging two multidimensional associative arrays [duplicate]

开发者 https://www.devze.com 2023-04-09 09:05 出处:网络
This question already has answers here: Merge row data from multiple arrays (6 answers) Closed 3 months ago.
This question already has answers here: Merge row data from multiple arrays (6 answers) Closed 3 months ago.

I'm chasing my tail trying to combine the results of two different queries to output in a template.

I'm trying to merge the corresponding sub-arrays in model_data and entry_data to get desired_result. I will then iterate over desired_result and print values into the template.

Any assistance is greatly appreciated.

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) 开发者_如何学Go"/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"
  }
}


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


You can use array_replace_recursive function to merge these arrays. Below is a example:

$desired_result = array_replace_recursive($model_data, $entry_data);

var_dump($desired_result);
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号