关于一个PHP递归处理统计的问题

json数据为:

{
    "code": 0,
    "msg": "获取项目列表成功",
    "data": {
        "2": {
            "project_id": 2,
            "project_name": "V稻",
            "project_parent_id": 0,
            "_completed": 0,
            "_uncompleted": 2,
            "_count": 2,
            "children": [
                {
                    "project_id": 6,
                    "project_name": "三级",
                    "project_parent_id": 2,
                    "_completed": 0,
                    "_uncompleted": 0,
                    "_count": 0
                },
                {
                    "project_id": 10,
                    "project_name": "测试项目名称",
                    "project_parent_id": 2,
                    "_completed": 0,
                    "_uncompleted": 0,
                    "_count": 0,
                    "children": [
                        {
                            "project_id": 11,
                            "project_name": "测试项目名称",
                            "project_parent_id": 10,
                            "_completed": 0,
                            "_uncompleted": 0,
                            "_count": 0
                        }
                    ]
                }
            ]
        }
    },
    "debug": {
        "sql": "SELECT `project_id`,`project_name`,`project_parent_id` FROM  `odp_project` WHERE `project_id` = '2' OR `root` = '2' LIMIT 0,4",
        "entry": []
    }
}

需求是将data中下级中的_completed,_uncompleted,_count统计到上一级中。请教这个递归该怎么写。

阅读 1.5k
1 个回答

先循环出上级,然后使用array_column把下级的三个字段分别取出来,然后array_sum进行求和,就是你要的数据了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题