V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
superkey
V2EX  ›  PHP

问个数组合并的问题

  •  
  •   superkey · 2016-08-03 17:45:35 +08:00 · 1825 次点击
    这是一个创建于 3043 天前的主题,其中的信息可能已经有所发展或是发生改变。

    数组一:

    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 又没了,求指导

    3 条回复    2016-08-03 19:06:47 +08:00
    chairuosen
        1
    chairuosen  
       2016-08-03 17:50:47 +08:00
    非要用内置函数么?手动写算法合并一下多好
    cxbig
        2
    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
        3
    wander2008  
       2016-08-03 19:06:47 +08:00 via iPhone
    哥,咱能不能用 md 形式?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3131 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 13:39 · PVG 21:39 · LAX 05:39 · JFK 08:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.