3v4l.org

run code in 300+ PHP versions simultaneously
<?php $start = new \DateTime('2019-05-08 07:00:00'); $end = new \DateTime('2019-05-08 07:30:00'); function getSlots(\DateTime $start, \DateTime $end): array { $slots = []; while ($start < $end) { $old = clone($start); $start->modify('+2 hours'); if ($start > $end) { echo 1; $slots[] = [ 'from' => $old, 'to' => $end ]; return $slots; } else { $slots[] = [ 'from' => $old, 'to' => clone($start) ]; } } return $slots; } var_dump(getSlots($start, $end));

preferences:
52.66 ms | 402 KiB | 5 Q