按周和用户在一年中对数据进行分组

  • 本文关键字:数据 一年 用户 php
  • 更新时间 :
  • 英文 :


阵列

{"dev_name":"Alexandria","completed":"7","date":"2022-01-03"}
{"dev_name":"Alexandria","completed":"6","date":"2022-01-04"}
{"dev_name":"Alexandria","completed":"3","date":"2022-01-05"}
{"dev_name":"Bo","completed":"13","date":"2022-01-04"}
{"dev_name":"Bo","completed":"14","date":"2022-01-05"}
{"dev_name":"Charlie","completed":"12","date":"2022-01-03"}
{"dev_name":"Charlie","completed":"17","date":"2022-01-04"}
control_current_year_ticket_total = array();
$byWeek = array();  
$sum = 0;
foreach ($best_day as $day) {
$date = DateTime::createFromFormat('Y-m-d', $day['date']);
$init_date = $date->format("Y-m-d");
$n = strtotime($init_date);
$week = week_number($n);
$comp = $day['daily_completed'];
$dev = $day['dev_name'];
$sum += $day[ 'daily_completed' ];

if (!isset($byWeek[$week][$dev]) || $completed > $byWeek[$dev][$week][$dev][1]) {
$byWeek[$week][$dev] = [
$sum 
];
}
}

我创建了一个var来获得每个开发人员在一周内完成的值的总数。这是我得到的结果,应该是亚历山大:16,Bo:27,查理:29

{"2":{"Alexandria":[7],"Bo":[29],"Charlie":[55]}}
control_current_year_ticket_total = array();
$byWeek = array();  
$sum = 0;
foreach ($best_day as $day) {
$date = DateTime::createFromFormat('Y-m-d', $day['date']);
$init_date = $date->format("Y-m-d");
$n = strtotime($init_date);
$week = week_number($n);
$comp = $day['daily_completed'];
$dev = $day['dev_name'];
$sum += $day[ 'daily_completed' ];

if (!isset($byWeek[$week][$dev]) || $completed > $byWeek[$dev][$week][$dev][1]) {
$byWeek[$week][$dev] = [
$sum 
];
}
}

将端阵列$byWeek[$week][$dev] = [$sum];更改为不带括号的$byWeek[$week][$dev] = $sum;

control_current_year_ticket_total = array();
$byWeek = array();  
$sum = 0;
foreach ($best_day as $day) {
$date = DateTime::createFromFormat('Y-m-d', $day['date']);
$init_date = $date->format("Y-m-d");
$n = strtotime($init_date);
$week = week_number($n);
$comp = $day['daily_completed'];
$dev = $day['dev_name'];
$sum += $day[ 'daily_completed' ];

if (!isset($byWeek[$week][$dev]) || $completed > $byWeek[$dev][$week][$dev][1]) {
$byWeek[$week][$dev] = $sum ;
}
}

正如评论所说,如果数据来自数据库,则使用SQL直接按周对数据进行分组

最新更新