虚拟主机域名注册-常见问题网络编程问题 → PHP


php 二维数组去重合并将相同数量累加
作者:

例如: 如下数组需去重并合并相同的数据

{
    "code": 200,
    "data": [
        {
            "title": "客房服务",
            "id": 4,
            "count": 1
        },
        {
            "title": "设备报修",
            "id": 5,
            "count": 1
        },
        {
            "title": "客房服务",
            "id": 4,
            "count": 1
        }
    ],
    "msg": "查询成功"
}

可以采用如下代码进行操作:

$data = array(3) {

          [0] => array(3) {
          
            ["title"] => string(12) "客房服务"
            
            ["id"] => int(4)
            
            ["count"] => int(1)
          }
          
          [1] => array(3) {
          
            ["title"] => string(12) "设备报修"
            
            ["id"] => int(5)
            
            ["count"] => int(1)
            
          }
          [2] => &array(3) {
          
            ["title"] => string(12) "客房服务"
            
            ["id"] => int(4)
            
            ["count"] => int(1)
            
          }
          
        }

$result = array();

foreach($data as $val){

    $key = $val['id'].'_'.$val['title'];
    
    if(!isset($result[$key])){
    
        $result[$key] = $val;
        
    }else{
    
        $result[$key]['count'] += $val['count'];
        
    }
    
}

$result = array_values($result);

结果如下:

{
    "code": 200,
    
    "data": [
    
        {
            "title": "客房服务",
            "id": 4,
            "count": 2
        },
        
        {
            "title": "设备报修",
            "id": 5,
            "count": 1
        }
        
    ],
    "msg": "查询成功"
}


来源:
阅读:1092
日期:2023-06-16

推荐朋友 】 【 评论 】  【 字体: 】 
上一篇:PHP获取 目录中的最后一个文仿
下一篇:layer.msg()自动关闭后刷新页面
  >> 相关文章
  没有相关文章。
发表评论


点  评: 字数0
用户名:  密码:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款