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统计到上一级中。请教这个递归该怎么写。
先循环出上级,然后使用array_column把下级的三个字段分别取出来,然后array_sum进行求和,就是你要的数据了。