3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $dateTimeExample = new DateTime('2009-01-05'); $dateTimes = [ $dateTimeExample->format('Y-m-d H:i:s'), $dateTimeExample->format('c'), $dateTimeExample->format('Y-m-d') ]; foreach($dateTimes as $datetime){ preg_match('~(?<date>\d{4}-\d{2}-\d{2})[\s|T](?<time>\d{2}:\d{2}:\d{2})?(?<timezone>[\+|-]\d{2}:\d{2})?~', $dateTime, $matches); $matches['time'] = array_key_exists('time', $matches) ? $matches['time'] : '00:00:00'; var_dump($matches); } //$dateTime = sprintf('%s %s %s', $matches['date'], $matches['time'], $matches['datetime']); //$bla = \DateTime::createFromFormat('Y-m-d H:i:s', $dateTime); //var_dump($bla);
Output for 5.6.30, hhvm-3.20.2 - 3.21.3, 7.0.0 - 7.2.9
Notice: Undefined variable: dateTime in /in/7WYvv on line 12 array(1) { ["time"]=> string(8) "00:00:00" } Notice: Undefined variable: dateTime in /in/7WYvv on line 12 array(1) { ["time"]=> string(8) "00:00:00" } Notice: Undefined variable: dateTime in /in/7WYvv on line 12 array(1) { ["time"]=> string(8) "00:00:00" }
Output for hhvm-3.22.0
Notice: Undefined variable: dateTime in /in/7WYvv on line -1 array(1) { ["time"]=> string(8) "00:00:00" } Notice: Undefined variable: dateTime in /in/7WYvv on line -1 array(1) { ["time"]=> string(8) "00:00:00" } Notice: Undefined variable: dateTime in /in/7WYvv on line -1 array(1) { ["time"]=> string(8) "00:00:00" }
Output for hhvm-3.15.4 - 3.19.2
Notice: Undefined variable: dateTime in /in/7WYvv on line 12 Warning: preg_match() expects parameter 2 to be string, null given in /in/7WYvv on line 12 Warning: Invalid operand type was used: array_key_exists expects an array or an object; false returned. in /in/7WYvv on line 13 array(1) { ["time"]=> string(8) "00:00:00" } Notice: Undefined variable: dateTime in /in/7WYvv on line 12 Warning: preg_match() expects parameter 2 to be string, null given in /in/7WYvv on line 12 array(1) { ["time"]=> string(8) "00:00:00" } Notice: Undefined variable: dateTime in /in/7WYvv on line 12 Warning: preg_match() expects parameter 2 to be string, null given in /in/7WYvv on line 12 array(1) { ["time"]=> string(8) "00:00:00" }