- array_reverse: documentation ( source)
- iterator_to_array: documentation ( source)
<?php
$begin = new DateTime( '2010-05-01' );
$end = new DateTime( '2010-05-10' );
$interval = DateInterval::createFromDateString('1 day');
$period = new DatePeriod($begin, $interval, $end);
foreach (array_reverse(iterator_to_array($period)) as $dt)
echo $dt->format( "l Y-m-d H:i:s\n" );