- array_sum: documentation ( source)
- date: documentation ( source)
- strtotime: documentation ( source)
<?php
$arr = array(
array('date' => '09-04-2018','item' => 'player 1', 'score' => '1'),
array('date' => '09-04-2018','item' => 'player 2', 'score' => '2'),
array('date' => '10-04-2018','item' => 'player 1', 'score' => '1'),
array('date' => '10-04-2018','item' => 'player 2', 'score' => '2'),
array('date' => '16-04-2018','item' => 'player 1', 'score' => '3'),
array('date' => '16-04-2018','item' => 'player 2', 'score' => '4'),
array('date' => '17-04-2018','item' => 'player 1', 'score' => '3'),
array('date' => '17-04-2018','item' => 'player 2', 'score' => '4')
);
//Week example
Foreach($arr as $val){
$res[$val['item']][date("W", strtotime($val['date']))][] = (int)$val['score'];
}
Foreach($res as $player => $time){
Foreach($time as $timeperiod => $score){
Echo $player. " ". $timeperiod ." " . array_sum($score) ."\n";
}
}
//Var_dump($res);