format('Y-m-d'); $key = 'month' === $period ? $day->format('Y-m') : ('week' === $period ? $day->modify('monday this week')->format('Y-m-d') : $date); if (!isset($rows[$key])) { $rows[$key] = array('from' => $date, 'to' => $date, 'sessions' => 0, 'seconds' => 0); } $rows[$key]['to'] = $date; $rows[$key]['sessions'] += (int) ($indexed[$date]['sessions'] ?? 0); $rows[$key]['seconds'] += (int) ($indexed[$date]['seconds'] ?? 0); $day = $day->modify('+1 day'); } return array_reverse(array_values($rows)); } }