【问题标题】:Merging two multidimensional associative arrays合并两个多维关联数组
【发布时间】:2011-11-26 09:38:24
【问题描述】:

我正在追赶我的尾巴,试图将两个不同查询的结果组合到一个模板中输出。

我正在尝试合并model_data和entry_data中的相应子数组以获得desired_result。然后我将遍历 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"
  }
}

【问题讨论】:

  • 您确定想要的结果是正确的吗?我实际上无法理解其中的逻辑。
  • 我需要将 model_data[0] 与 entry_data[0] 合并,将 model_data[1] 与 entry_data[1] 合并。两者都将继续添加数组,因此数组键需要递增。

标签: php arrays multidimensional-array array-merge


【解决方案1】:
foreach($model_data as $key => $value){
    $result[$key] = array_merge($entry_data[$key], $model_data[$key]);
}

【讨论】:

  • 仅适用于二维数组。不过对我来说已经足够了。
  • 是的,但你总是可以在函数中递归 foreach
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-08
  • 2013-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-28
相关资源
最近更新 更多