3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php function getDay($day) { $days = ['Monday' => 1, 'Tuesday' => 2, 'Wednesday' => 3, 'Thursday' => 4, 'Friday' => 5, 'Saturday' => 6, 'Sunday' => 7]; $today = new \DateTime(); $today->setISODate((int)$today->format('o'), (int)$today->format('W'), $days[ucfirst($day)]); return $today; } var_dump(getDay('Monday')->format('l dS F Y')); var_dump(getDay('Tuesday')->format('Y-m-d')); var_dump(getDay('Friday')->format('l dS F Y'));
based on ApLHk
Output for 5.4.9 - 5.4.45, 5.6.28, 7.0.20 - 7.2.0
string(25) "Monday 16th November 2015" string(10) "2015-11-17" string(25) "Friday 20th November 2015"
Output for 5.6.21, 7.0.6
string(20) "Monday 02nd May 2016" string(10) "2016-05-03" string(20) "Friday 06th May 2016"
Output for 5.5.30, 5.6.14 - 5.6.16, 7.0.5
string(22) "Monday 28th March 2016" string(10) "2016-03-29" string(22) "Friday 01st April 2016"
Output for 5.5.33, 5.6.19, 7.0.4
string(22) "Monday 07th March 2016" string(10) "2016-03-08" string(22) "Friday 11th March 2016"
Output for 5.5.32, 5.6.17 - 5.6.18, 7.0.3
string(22) "Monday 14th March 2016" string(10) "2016-03-15" string(22) "Friday 18th March 2016"
Output for 5.5.31, 7.0.0 - 7.0.2
string(22) "Monday 21st March 2016" string(10) "2016-03-22" string(22) "Friday 25th March 2016"
Output for 5.6.20
string(22) "Monday 04th April 2016" string(10) "2016-04-05" string(22) "Friday 08th April 2016"
Output for 5.5.29, 5.5.34, 5.6.13
string(22) "Monday 11th April 2016" string(10) "2016-04-12" string(22) "Friday 15th April 2016"
Output for 5.5.27 - 5.5.28, 5.6.11 - 5.6.12
string(22) "Monday 18th April 2016" string(10) "2016-04-19" string(22) "Friday 22nd April 2016"
Output for 5.5.25 - 5.5.26, 5.6.8 - 5.6.10
string(22) "Monday 25th April 2016" string(10) "2016-04-26" string(22) "Friday 29th April 2016"
Output for 5.5.35
string(20) "Monday 16th May 2016" string(10) "2016-05-17" string(20) "Friday 20th May 2016"
Output for 5.5.24
string(20) "Monday 23rd May 2016" string(10) "2016-05-24" string(20) "Friday 27th May 2016"
Output for 5.3.19 - 5.3.29
Parse error: syntax error, unexpected '[' in /in/f541v on line 4
Process exited with code 255.