3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php class values implements Iterator{ private $_data = null; // array or object private $_keys = array(); private $_key = false; public function __construct($data = null){ if (null !== $data){ $this->_data = $data; } } // ------------ \Iterator implementation public function current(){ return $this->{$this->_key}; } public function key(){ return $this->_key; } public function next(){ $this->_key = \next($this->_keys); } public function rewind(){ $this->_keys = array(); foreach ($this->_data as $k => $v){ $this->_keys[] = $k; } $this->_key = \reset($this->_keys); } public function valid(){ if (false === $this->_key){ return false; } return isset($this->{$this->_key}); } } $values = new values(new DateTime()); foreach($values as $k => $v) { var_dump($k, $v); }
Output for 5.5.0 - 5.6.28, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
Output for 5.4.0 - 5.4.45
Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.' in /in/DhTUu:37 Stack trace: #0 /in/DhTUu(37): DateTime->__construct() #1 {main} thrown in /in/DhTUu on line 37
Process exited with code 255.
Output for 5.3.0 - 5.3.29
Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead' in /in/DhTUu:37 Stack trace: #0 /in/DhTUu(37): DateTime->__construct() #1 {main} thrown in /in/DhTUu on line 37
Process exited with code 255.
Output for 5.2.3 - 5.2.17
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/DhTUu on line 20 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/DhTUu on line 27
Output for 5.2.0 - 5.2.2
<br /> <b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/in/DhTUu</b> on line <b>20</b><br /> <br /> <b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/in/DhTUu</b> on line <b>27</b><br />
Output for 5.0.0 - 5.1.6
<br /> <b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/in/DhTUu</b> on line <b>20</b><br /> <br /> <b>Warning</b>: Unexpected character in input: '\' (ASCII=92) state=1 in <b>/in/DhTUu</b> on line <b>27</b><br /> <br /> <b>Fatal error</b>: Class 'DateTime' not found in <b>/in/DhTUu</b> on line <b>37</b><br />
Process exited with code 255.
Output for 4.4.2 - 4.4.9
<br /> <b>Parse error</b>: syntax error, unexpected T_STRING, expecting '{' in <b>/in/DhTUu</b> on line <b>3</b><br />
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
<br /> <b>Parse error</b>: parse error, unexpected T_STRING, expecting '{' in <b>/in/DhTUu</b> on line <b>3</b><br />
Process exited with code 255.
Output for 4.3.2 - 4.3.4
<br /> <b>Parse error</b>: parse error, expecting `'{'' in <b>/in/DhTUu</b> on line <b>3</b><br />
Process exited with code 255.