问个数组合并的问题

2016-08-03 17:45:35 +08:00
 superkey

数组一:

array:4 [ 16 => array:2 [ "id" => 16 "sex" => "aa" ] 19 => array:2 [ "id" => 19 "sex" => "ad" ] 26 => array:2 [ "id" => 26 "sex" => "jk" ] 28 => array:2 [ "id" => 28 "sex" => "gg" ] ]

数组二:

array:4 [ 16 => array:2 [ "id" => 16 "feel" => "1" ] 19 => array:2 [ "id" => 19 "feel" => "2" ] 26 => array:2 [ "id" => 26 "feel" => "3" ] 28 => array:2 [ "id" => 28 "feel" => "4" ] ]

怎么样才能合并成一个如下的数组

array:4 [ 16 => array:2 [ "id" => 16 "sex" => "aa" "feel" => "1" ] 19 => array:2 [ "id" => 19 "sex" => "ad" "feel" => "2" ] 26 => array:2 [ "id" => 26 "sex" => "jk" "feel" => "3" ] 28 => array:2 [ "id" => 28 "sex" => "gg" "feel" => "4" ] ]

我用 array_map("array_merge_recursive",$arr1,$arr2),觉无奈有重复,用 unset 后 id 又没了,求指导

1787 次点击
所在节点    PHP
3 条回复
chairuosen
2016-08-03 17:50:47 +08:00
非要用内置函数么?手动写算法合并一下多好
cxbig
2016-08-03 18:58:34 +08:00
function smerge($a1, $a2){
foreach ($a1 as $key => $value) {
if(array_key_exists($key, $a2) && is_array($a2[$key])){
$a1[$key] = $a1[$key] + $a2[$key];
}
}
return $a1;
}
其他限制条件一概没考虑
wander2008
2016-08-03 19:06:47 +08:00
哥,咱能不能用 md 形式?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/296895

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX