3v4l.org

run code in 300+ PHP versions simultaneously
<?php print_r(get_thirty_days(new \DateTime())); print_r(get_thirty_days(new \DateTime('2017-01-15'), 40)); print_r(array_reverse(get_thirty_days(new \DateTime('2017-01-15'), 10))); function get_thirty_days(\DateTime $date_in, int $days = null) { $days = $days ?? 30; $date_out = $date_in->add(new \DateInterval(sprintf('P%dD', $days))); $dates = []; while ($days) { $dates[] = $date_out ->sub(new \DateInterval('P1D')) ->format('Ymd') ; $days--; } return $dates; }

preferences:
13.06 ms | 406 KiB | 5 Q