3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php function foo(&$param) { $param = 42; return $param; } $a = 23; echo "\$a before calling foo(): $a\n"; $b = &foo($a); echo "\$a after the call to foo(): $a\n"; $b = 23; echo "\$a after touching the returned variable: $a\n"; echo "\$b : $b\n";
Output for 4.4.0 - 4.4.9, 7.0.0 - 7.1.0
$a before calling foo(): 23 Notice: Only variables should be assigned by reference in /in/BEj7a on line 9 $a after the call to foo(): 42 $a after touching the returned variable: 42 $b : 23
Output for 5.0.5 - 5.6.28
$a before calling foo(): 23 Strict Standards: Only variables should be assigned by reference in /in/BEj7a on line 9 $a after the call to foo(): 42 $a after touching the returned variable: 42 $b : 23
Output for 4.3.0 - 4.3.11, 5.0.0 - 5.0.4
$a before calling foo(): 23 $a after the call to foo(): 42 $a after touching the returned variable: 42 $b : 23