3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $dataset = array("a" => "one", "b" => "two", "c" => "three"); var_dump($dataset, var_dump(current($dataset))); print(PHP_EOL); function foo($a, $b) { return false; } foreach($dataset as $key => $val) { $dataset[$key] = foo($val, 'bar'); var_dump($dataset[$key], $key, $val, current($dataset)); print(PHP_EOL); } var_dump($dataset); print(PHP_EOL);
Output for 4.3.10 - 4.4.9, 5.0.2 - 5.2.3, 7.0.0 - 7.1.0
string(3) "one" array(3) { ["a"]=> string(3) "one" ["b"]=> string(3) "two" ["c"]=> string(5) "three" } NULL bool(false) string(1) "a" string(3) "one" bool(false) bool(false) string(1) "b" string(3) "two" bool(false) bool(false) string(1) "c" string(5) "three" bool(false) array(3) { ["a"]=> bool(false) ["b"]=> bool(false) ["c"]=> bool(false) }
Output for 5.2.4 - 5.6.28
string(3) "one" array(3) { ["a"]=> string(3) "one" ["b"]=> string(3) "two" ["c"]=> string(5) "three" } NULL bool(false) string(1) "a" string(3) "one" string(3) "two" bool(false) string(1) "b" string(3) "two" bool(false) bool(false) string(1) "c" string(5) "three" bool(false) array(3) { ["a"]=> bool(false) ["b"]=> bool(false) ["c"]=> bool(false) }
Output for 4.3.0 - 4.3.9, 5.0.0 - 5.0.1
string(3) "one" array(3) { ["a"]=> string(3) "one" ["b"]=> string(3) "two" ["c"]=> string(5) "three" } NULL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/b2PB7 on line 6 PHP_EOLbool(false) string(1) "a" string(3) "one" bool(false) Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/b2PB7 on line 15 PHP_EOLbool(false) string(1) "b" string(3) "two" bool(false) Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/b2PB7 on line 15 PHP_EOLbool(false) string(1) "c" string(5) "three" bool(false) Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/b2PB7 on line 15 PHP_EOLarray(3) { ["a"]=> bool(false) ["b"]=> bool(false) ["c"]=> bool(false) } Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/b2PB7 on line 20 PHP_EOL