Edit report at http://bugs.php.net/bug.php?id=52668&edit=1
ID: 52668 Updated by: der...@php.net Reported by: bugs dot php dot net at muh-die-kuh dot de Summary: Iterating over a dateperiod twice is broken Status: Assigned Type: Bug Package: Date/time related PHP Version: 5.3.3 Assigned To: derick Block user comment: N New Comment: Another example at: http://php.codepad.org/vjXDqjc1 Previous Comments: ------------------------------------------------------------------------ [2010-08-22 16:24:48] bugs dot php dot net at muh-die-kuh dot de Description: ------------ Iterating over a dateperiod twice does not "reset" the iterator, but starts the second iteration at the endate. This is kindof an duplicate of #46874, but Derick asked me to add it anyways. Test script: --------------- <?php $start = new DateTime('20101212'); $interval = DateInterval::createFromDateString('next day'); $dp = new DatePeriod($start, $interval, 0); foreach($dp as $dt) { echo $dt->format('r') . "\n"; // Sun, 12 Dec 2010 00:00:00 +0100 } foreach($dp as $dt) { echo $dt->format('r') . "\n"; // Mon, 13 Dec 2010 00:00:00 +0100 } Expected result: ---------------- Sun, 12 Dec 2010 00:00:00 +0100 Sun, 12 Dec 2010 00:00:00 +0100 Actual result: -------------- Sun, 12 Dec 2010 00:00:00 +0100 Mon, 13 Dec 2010 00:00:00 +0100 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=52668&edit=1