- array_reverse: 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($period) as $dt)
echo $dt->format( "l Y-m-d H:i:s\n" );