3v4l.org

run code in 300+ PHP versions simultaneously
<?php function seperate_duration($dates, $duration) { $max_count = $duration / 5; $minutes = $max_count * 50; $end_minutes = $max_count * 250; $timestamps = array_map('strtotime', $dates); $last = 0; $count = 0; foreach ($timestamps as $i => $ts) { if ($last && $ts !== $last + $minutes) { $count = 1; $last = $ts; continue; } $last = $ts; $count++; if ($count === $max_count) { $times_[] = array( 'start_date' => date('H:i:s', $last - $end_minutes), 'end_date' => date('H:i:s', $last + $minutes) ); $count = 0; } } echo '<pre>'; print_r($times_); echo '</pre>'; } $dates = [ '2018-04-07 10:00:00', '2018-04-07 10:05:00', '2018-04-07 10:10:00', '2018-04-07 10:15:00', '2018-04-07 10:20:00', '2018-04-07 10:25:00', '2018-04-07 10:30:00', '2018-04-07 10:35:00', '2018-04-07 10:40:00', '2018-04-07 10:45:00', '2018-04-07 10:50:00', '2018-04-07 10:55:00', '2018-04-07 11:00:00', '2018-04-07 11:25:00', '2018-04-07 11:30:00', '2018-04-07 11:35:00', '2018-04-07 11:40:00', '2018-04-07 11:45:00', '2018-04-07 11:50:00', '2018-04-07 12:00:00', '2018-04-07 12:05:00', '2018-04-07 12:10:00', '2018-04-07 12:15:00', ]; seperate_duration($dates, 30);
Output for 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
<pre>Array ( [0] => Array ( [start_date] => 10:00:00 [end_date] => 10:30:00 ) [1] => Array ( [start_date] => 10:30:00 [end_date] => 11:00:00 ) [2] => Array ( [start_date] => 11:25:00 [end_date] => 11:55:00 ) ) </pre>

preferences:
106.93 ms | 1470 KiB | 4 Q