当前位置:网站首页>php 三维数组根据某个键合并并累加他们的值
php 三维数组根据某个键合并并累加他们的值
2022-08-06 23:18:00 【指针再爱我一次】
php 三维数组根据某个键合并并累加他们的值
一、操作前的数据结构
[
[
{
"days": "2022-05-27",
"count_num": 2
},
{
"days": "2022-05-28",
"count_num": 58
},
{
"days": "2022-05-29",
"count_num": 103
},
{
"days": "2022-05-30",
"count_num": 95
},
{
"days": "2022-05-31",
"count_num": 131
},
{
"days": "2022-06-01",
"count_num": 86
},
{
"days": "2022-06-02",
"count_num": 14
},
{
"days": "2022-06-03",
"count_num": 25
},
{
"days": "2022-06-04",
"count_num": 19
},
{
"days": "2022-06-05",
"count_num": 34
},
{
"days": "2022-06-06",
"count_num": 87
},
{
"days": "2022-06-07",
"count_num": 7989
},
{
"days": "2022-06-08",
"count_num": 5263
},
{
"days": "2022-06-09",
"count_num": 1289
},
{
"days": "2022-06-10",
"count_num": 1289
},
{
"days": "2022-06-11",
"count_num": 3045
},
{
"days": "2022-06-12",
"count_num": 1089
},
{
"days": "2022-06-13",
"count_num": 433
},
{
"days": "2022-06-14",
"count_num": 659
},
{
"days": "2022-06-15",
"count_num": 554
},
{
"days": "2022-06-16",
"count_num": 104
},
{
"days": "2022-06-17",
"count_num": 465
},
{
"days": "2022-06-18",
"count_num": 5540
},
{
"days": "2022-06-19",
"count_num": 19314
},
{
"days": "2022-06-20",
"count_num": 47145
},
{
"days": "2022-06-21",
"count_num": 8706
},
{
"days": "2022-06-22",
"count_num": 19822
},
{
"days": "2022-06-23",
"count_num": 11860
},
{
"days": "2022-06-24",
"count_num": 8197
}
],
[
{
"days": "2022-06-09",
"count_num": 22
},
{
"days": "2022-06-10",
"count_num": 10
},
{
"days": "2022-06-11",
"count_num": 1
},
{
"days": "2022-06-16",
"count_num": 81
},
{
"days": "2022-06-17",
"count_num": 481
},
{
"days": "2022-06-18",
"count_num": 15820
},
{
"days": "2022-06-19",
"count_num": 27472
},
{
"days": "2022-06-20",
"count_num": 11882
},
{
"days": "2022-06-21",
"count_num": 12850
},
{
"days": "2022-06-22",
"count_num": 1695
},
{
"days": "2022-06-23",
"count_num": 3442
},
{
"days": "2022-06-24",
"count_num": 3932
},
{
"days": "2022-06-25",
"count_num": 2
}
],
[
{
"days": "2022-06-11",
"count_num": 2
},
{
"days": "2022-06-13",
"count_num": 9
},
{
"days": "2022-06-14",
"count_num": 1
},
{
"days": "2022-06-21",
"count_num": 5
},
{
"days": "2022-06-22",
"count_num": 9
}
],
[
{
"days": "2022-06-27",
"count_num": 1
}
],
[],
[
{
"days": "2022-08-04",
"count_num": 1
}
],
[],
[],
[]
]
二、要处理成的样子
需要把相同日期的数据合并,如统计2022-06-01为一个数组累加他们的count_num
三、代码处理
// productData 为上方json转成php数组的数据结构
// 根据日期合并各种日期同时累加他们的调用次数总和
$allData = [];
foreach($productData as $key => $value){
foreach($value as $k => $v){
if(!isset($allData[$v['days']])){
$allData[$v['days']] = $v;
}else{
$allData[$v['days']]['count_num'] += $v['count_num'];
}
}
}
四、处理后的数据展示
[
{
"days": "2022-05-27",
"count_num": 2
},
{
"days": "2022-05-28",
"count_num": 58
},
{
"days": "2022-05-29",
"count_num": 103
},
{
"days": "2022-05-30",
"count_num": 95
},
{
"days": "2022-05-31",
"count_num": 131
},
{
"days": "2022-06-01",
"count_num": 86
},
{
"days": "2022-06-02",
"count_num": 14
},
{
"days": "2022-06-03",
"count_num": 25
},
{
"days": "2022-06-04",
"count_num": 19
},
{
"days": "2022-06-05",
"count_num": 34
},
{
"days": "2022-06-06",
"count_num": 87
},
{
"days": "2022-06-07",
"count_num": 7989
},
{
"days": "2022-06-08",
"count_num": 5263
},
{
"days": "2022-06-09",
"count_num": 1311
},
{
"days": "2022-06-10",
"count_num": 1299
},
{
"days": "2022-06-11",
"count_num": 3048
},
{
"days": "2022-06-12",
"count_num": 1089
},
{
"days": "2022-06-13",
"count_num": 442
},
{
"days": "2022-06-14",
"count_num": 660
},
{
"days": "2022-06-15",
"count_num": 554
},
{
"days": "2022-06-16",
"count_num": 185
},
{
"days": "2022-06-17",
"count_num": 946
},
{
"days": "2022-06-18",
"count_num": 21360
},
{
"days": "2022-06-19",
"count_num": 46786
},
{
"days": "2022-06-20",
"count_num": 59027
},
{
"days": "2022-06-21",
"count_num": 21561
},
{
"days": "2022-06-22",
"count_num": 21526
},
{
"days": "2022-06-23",
"count_num": 15302
},
{
"days": "2022-06-24",
"count_num": 12129
},
{
"days": "2022-06-25",
"count_num": 2
},
{
"days": "2022-06-27",
"count_num": 1
},
{
"days": "2022-08-04",
"count_num": 1
}
]
边栏推荐
猜你喜欢
随机推荐
MySQL 免安装版安装配置
PAT Grade B-B1023 Minimum Number of Groups (20)
time wheel---
bugku 0和1的故事
LC买卖股票的最佳时机Ⅱ(三种解法详解)
深度学习:可视化方法
移动平台助力推进智慧型科研院所信息化建设
js和PHP通用的DES加解密算法
诛仙游戏SQL充值语句(mysql不存在则插入,存在则更新)
golang使用josn.Unmarshal报错:unexpected end of JSON input
深夜回家坐电梯选择站在哪个位置相对会更安全? 蚂蚁新村8月6日答案
PAT乙级-B1023 组个最小数(20)
[C language] Write a simple multi-choice game with the most basic C language knowledge (the source code is at the end of the article)
[ 漏洞复现篇 ] OpenSSH 命令注入漏洞 (CVE-2020-15778)
加密钱包中的“冷存储”和“热存储”该如何选择?
#yyds干货盘点#H3C镜像端口配置学习(二)
PAT乙级-B1026 程序运行时间(15)
【超好懂的比赛题解】The 2019 ICPC Asia Nanjing Regional Contest 比赛题解
PAT Grade B-B1027 Printing Hourglass (20)
Talking about API Gateway



![[ 隧道技术 ] 反弹shell的集中常见方式(一)nc反弹shell](/img/16/4c0ea539ce438fa95d4629dafd1668.png)





![[ 漏洞复现篇 ] OpenSSH 命令注入漏洞 (CVE-2020-15778)](/img/b4/c12c851d3bf8120cdd14d76b2fed1e.png)