3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $period = new DatePeriod(new DateTime('2010-05-01'), new DateInterval('P1D'), new DateTime('2010-05-10')); foreach ($period as $date) { echo $date->format( "l Y-m-d H:i:s\n" ); } var_dump(iterator_to_array($period));
based on 2OD0E
Output for 7.0.0 - 7.1.0
Saturday 2010-05-01 00:00:00 Sunday 2010-05-02 00:00:00 Monday 2010-05-03 00:00:00 Tuesday 2010-05-04 00:00:00 Wednesday 2010-05-05 00:00:00 Thursday 2010-05-06 00:00:00 Friday 2010-05-07 00:00:00 Saturday 2010-05-08 00:00:00 Sunday 2010-05-09 00:00:00 array(9) { [0]=> object(DateTime)#4 (3) { ["date"]=> string(26) "2010-05-01 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [1]=> object(DateTime)#5 (3) { ["date"]=> string(26) "2010-05-02 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [2]=> object(DateTime)#6 (3) { ["date"]=> string(26) "2010-05-03 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [3]=> object(DateTime)#7 (3) { ["date"]=> string(26) "2010-05-04 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [4]=> object(DateTime)#8 (3) { ["date"]=> string(26) "2010-05-05 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [5]=> object(DateTime)#9 (3) { ["date"]=> string(26) "2010-05-06 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [6]=> object(DateTime)#10 (3) { ["date"]=> string(26) "2010-05-07 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [7]=> object(DateTime)#11 (3) { ["date"]=> string(26) "2010-05-08 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [8]=> object(DateTime)#12 (3) { ["date"]=> string(26) "2010-05-09 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } }
Output for hhvm-3.12.0
Saturday 2010-05-01 00:00:00 Sunday 2010-05-02 00:00:00 Monday 2010-05-03 00:00:00 Tuesday 2010-05-04 00:00:00 Wednesday 2010-05-05 00:00:00 Thursday 2010-05-06 00:00:00 Friday 2010-05-07 00:00:00 Saturday 2010-05-08 00:00:00 Sunday 2010-05-09 00:00:00 array(9) { [0]=> object(DateTime)#9 (3) { ["date"]=> string(26) "2010-05-10 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [1]=> object(DateTime)#9 (3) { ["date"]=> string(26) "2010-05-10 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [2]=> object(DateTime)#9 (3) { ["date"]=> string(26) "2010-05-10 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [3]=> object(DateTime)#9 (3) { ["date"]=> string(26) "2010-05-10 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [4]=> object(DateTime)#9 (3) { ["date"]=> string(26) "2010-05-10 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [5]=> object(DateTime)#9 (3) { ["date"]=> string(26) "2010-05-10 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [6]=> object(DateTime)#9 (3) { ["date"]=> string(26) "2010-05-10 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [7]=> object(DateTime)#9 (3) { ["date"]=> string(26) "2010-05-10 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [8]=> object(DateTime)#9 (3) { ["date"]=> string(26) "2010-05-10 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } }
Output for hhvm-3.10.0

Process exited with code 153.
Output for 5.4.30 - 5.6.28
Saturday 2010-05-01 00:00:00 Sunday 2010-05-02 00:00:00 Monday 2010-05-03 00:00:00 Tuesday 2010-05-04 00:00:00 Wednesday 2010-05-05 00:00:00 Thursday 2010-05-06 00:00:00 Friday 2010-05-07 00:00:00 Saturday 2010-05-08 00:00:00 Sunday 2010-05-09 00:00:00 array(9) { [0]=> object(DateTime)#2 (3) { ["date"]=> string(26) "2010-05-01 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [1]=> object(DateTime)#4 (3) { ["date"]=> string(26) "2010-05-02 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [2]=> object(DateTime)#5 (3) { ["date"]=> string(26) "2010-05-03 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [3]=> object(DateTime)#6 (3) { ["date"]=> string(26) "2010-05-04 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [4]=> object(DateTime)#7 (3) { ["date"]=> string(26) "2010-05-05 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [5]=> object(DateTime)#8 (3) { ["date"]=> string(26) "2010-05-06 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [6]=> object(DateTime)#9 (3) { ["date"]=> string(26) "2010-05-07 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [7]=> object(DateTime)#10 (3) { ["date"]=> string(26) "2010-05-08 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [8]=> object(DateTime)#11 (3) { ["date"]=> string(26) "2010-05-09 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } }
Output for 5.3.4 - 5.4.29
Saturday 2010-05-01 00:00:00 Sunday 2010-05-02 00:00:00 Monday 2010-05-03 00:00:00 Tuesday 2010-05-04 00:00:00 Wednesday 2010-05-05 00:00:00 Thursday 2010-05-06 00:00:00 Friday 2010-05-07 00:00:00 Saturday 2010-05-08 00:00:00 Sunday 2010-05-09 00:00:00 array(9) { [0]=> object(DateTime)#2 (3) { ["date"]=> string(19) "2010-05-01 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [1]=> object(DateTime)#4 (3) { ["date"]=> string(19) "2010-05-02 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [2]=> object(DateTime)#5 (3) { ["date"]=> string(19) "2010-05-03 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [3]=> object(DateTime)#6 (3) { ["date"]=> string(19) "2010-05-04 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [4]=> object(DateTime)#7 (3) { ["date"]=> string(19) "2010-05-05 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [5]=> object(DateTime)#8 (3) { ["date"]=> string(19) "2010-05-06 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [6]=> object(DateTime)#9 (3) { ["date"]=> string(19) "2010-05-07 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [7]=> object(DateTime)#10 (3) { ["date"]=> string(19) "2010-05-08 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } [8]=> object(DateTime)#11 (3) { ["date"]=> string(19) "2010-05-09 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } }
Output for 5.3.0 - 5.3.3
Saturday 2010-05-01 00:00:00 Sunday 2010-05-02 00:00:00 Monday 2010-05-03 00:00:00 Tuesday 2010-05-04 00:00:00 Wednesday 2010-05-05 00:00:00 Thursday 2010-05-06 00:00:00 Friday 2010-05-07 00:00:00 Saturday 2010-05-08 00:00:00 Sunday 2010-05-09 00:00:00 array(0) { }
Output for 5.0.0 - 5.2.17
Fatal error: Class 'DatePeriod' not found in /in/FcGCt on line 3
Process exited with code 255.
Output for 4.3.2 - 4.4.9
Fatal error: Cannot instantiate non-existent class: dateperiod in /in/FcGCt on line 3
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Cannot instantiate non-existent class: dateperiod in /in/FcGCt on line 3