superkey
V2EX  ›  PHP

问个数组合并的问题

  •  
  •   superkey · Aug 3, 2016 · 2184 views
    This topic created in 3603 days ago, the information mentioned may be changed or developed.

    数组一:

    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 replies    2016-08-03 19:06:47 +08:00
    chairuosen
        1
    chairuosen  
       Aug 3, 2016
    非要用内置函数么?手动写算法合并一下多好
    cxbig
        2
    cxbig  
       Aug 3, 2016
    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  
       Aug 3, 2016 via iPhone
    哥,咱能不能用 md 形式?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3283 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 12:10 · PVG 20:10 · LAX 05:10 · JFK 08:10
    ♥ Do have faith in what you're doing.