mysql - PHP多个二维数组合并成一个二维数组,值相同的覆盖

查看:583
本文介绍了mysql - PHP多个二维数组合并成一个二维数组,值相同的覆盖的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

array(
      [0] => Array (  [name] => 张11 [phone] => 18694934232 [province] => 广东 )
      [1] => Array (  [name] => 吴凯胜 [phone] => 15250360105 [province] => 湖北 )
      [2] => Array (  [name] => 魏海洋 [phone] => 18513235609 [province] => 天津 )
      [3] => Array (  [name] => 张国华 [phone] => 13063730110 [province] => 北京 )
      [4] => Array (  [name] => 周传勇 [phone] => 13584423937 [province] => 重庆 )
      [5] => Array (  [name] => 杨铭泽 [phone] => 13358038057 [province] => 安徽 )
      [6] => Array (  [name] => 马久红 [phone] => 13812577058 [province] => 山东 )
      [7] => Array (  [name] => 蔡兵   [phone] => 18625133441 [province] => 湖南 )
      [8] => Array (  [name] => 蒋磊峰 [phone] => 18626169956 [province] => 浙江 )
      [9] => Array (  [name] => 肖邦禹 [phone] => 18651457077 [province] => 江苏 )
      [10] => Array ( [name] => 马晓天 [phone] => 13921351007 [province] => 河北 )

      [11] => Array ( [name] => 吴凯胜 [num] => 2 )
      [12] => Array ( [name] => 周传勇 [num] => 2 )
      [13] => Array ( [name] => 张国华 [num] => 2 )
      [14] => Array ( [name] => 张11 [num] => 2 )
      [15] => Array ( [name] => 杨铭泽 [num] => 2 )
      [16] => Array ( [name] => 肖邦禹 [num] => 3 )
      [17] => Array ( [name] => 蒋磊峰 [num] => 2 )
      [18] => Array ( [name] => 蔡兵   [num] => 2 )
      [19] => Array ( [name] => 马久红 [num] => 2 )
      [20] => Array ( [name] => 魏海洋 [num] => 2 )
      
      [21] => Array ( [name] => 吴凯胜 [station] => 3 )
      [22] => Array ( [name] => 张国华 [station] => 3 )
      [23] => Array ( [name] => 张11 [station] => 14 )
      [24] => Array ( [name] => 马久红 [station] => 1 )
      [25] => Array ( [name] => 魏海洋 [station] => 2 )

      [26] => Array ( [total] => 1 [code_num] => 1 [cishu] => 0 [name] => 张11 )
      [27] => Array ( [total] => 1 [code_num] => 1 [cishu] => 0 [name] => 吴凯胜 )
      [28] => Array ( [total] => 1 [code_num] => 1 [cishu] => 0 [name] => 魏海洋 )
      [29] => Array ( [total] => 1 [code_num] => 1 [cishu] => 0 [name] => 张国华 )
      [30] => Array ( [total] => 1 [code_num] => 1 [cishu] => 0 [name] => 周传勇 )
      [31] => Array ( [total] => 1 [code_num] => 1 [cishu] => 0 [name] => 杨铭泽 )
      [32] => Array ( [total] => 1 [code_num] => 1 [cishu] => 0 [name] => 马久红 )
      [33] => Array ( [total] => 1 [code_num] => 1 [cishu] => 0 [name] => 蔡兵 )
      [34] => Array ( [total] => 1 [code_num] => 1 [cishu] => 0 [name] => 蒋磊峰 )
      [35] => Array ( [total] => 0 [code_num] => 0 [cishu] => 0 [name] => )
      [36] => Array ( [total] => 1 [code_num] => 1 [cishu] => 0 [name] => 马晓天 )
      
      [37] => Array ( [usernum] => 1  [usermoney] => 5  [phone] => 13063730110 [name] => 张国华 )
      [38] => Array ( [usernum] => 12 [usermoney] => 60 [phone] => 18513235609 [name] => 魏海洋 ) 
      
      [39] => Array ( [num] => 1 [name] => 张国华 ) 
      [40] => Array ( [num] => 12 [name] => 魏海洋 ) 
      
      [41] => Array ( [name] => 张国华 [userId] => 2467   [money] => 419002.38 ) 
      [42] => Array ( [name] => 魏海洋 [userId] => 473048 [money] => 0.01 ) 
      )

想实现的结果是

array( 
  [0] => Array (  [name] => 魏海洋 [phone] => 13063730110 [province] => 天津 [num] => 2 [station] => 2   [total] => 1 [code_num] => 1 [cishu] => 0   [usernum] => 12 [usermoney] => 60 [money] => 0.01 )
  [1] => Array (  [name] => 张国华 [phone] => 13063730110 [province] => 北京 [num] => 2 [station] => 3  [total] => 1 [code_num] => 1 [cishu] => 0  [usernum] => 1  [usermoney] => 5 [money] => 419002.38 )
)

解决方案


$data = [
      Array ( 'usernum' => 1 , 'usermoney' => 5 , 'phone' => 13063730110, 'name' => '张国华' ),
  Array ( 'usernum' => 12 ,'usermoney' => 60 ,'phone' => 18513235609, 'name' => '魏海洋' ) ,
  
   Array ( 'num' => 1 ,'name' => '张国华' ) ,
   Array ( 'num' => 12 ,'name' => '魏海洋' ) ,
  
   Array ( 'name' => '张国华', 'userId' => 2467 ,  'money' => 419002.38 ), 
   Array ( 'name' => '魏海洋', 'userId' => 473048, 'money' => 0.01 ) ,
    ];

$res=[]; 
foreach ($data as $key => $value) {
    if (!isset($res[$value['name']])) {
      $res[$value['name']] = $value;
    } else {
      $res[$value['name']] += $value;
    }
}
print_r(array_values($res));

Array
(
    [0] => Array
        (
            [usernum] => 1
            [usermoney] => 5
            [phone] => 13063730110
            [name] => 张国华
            [num] => 1
            [userId] => 2467
            [money] => 419002.38
        )

    [1] => Array
        (
            [usernum] => 12
            [usermoney] => 60
            [phone] => 18513235609
            [name] => 魏海洋
            [num] => 12
            [userId] => 473048
            [money] => 0.01
        )

)

这篇关于mysql - PHP多个二维数组合并成一个二维数组,值相同的覆盖的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆