3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
65<?php define('MAX_LOOPS',5); function withRefValue($elements, $transform) { echo "\n---( Array with $elements element(s): )---\n"; //Build array: for ($i=0; $i<$elements; $i++) { $a[] = "v.$i"; } $counter=0; echo "--> State of array before loop:\n"; var_dump($a); echo "--> Do loop:\n"; foreach ($a as $k=>&$v) { echo " iteration $counter: \$k=$k; \$v=$v\n"; eval($transform); $counter++; if ($counter>MAX_LOOPS) { echo " ** Stuck in a loop! **\n"; break; } } echo "--> State of array after loop:\n"; var_dump($a); } echo "\nPopping elements off end of an unreferenced array, using &\$value."; $transform = 'array_pop($a);'; withRefValue(1, $transform); withRefValue(2, $transform); withRefValue(3, $transform); withRefValue(4, $transform); withRefValue(5, $transform); withRefValue(, $transform);
based on e03MB
Output for 5.1.0 - 5.4.32
Parse error: syntax error, unexpected ',', expecting ')' in /in/ldasM on line 38
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected ',', expecting ')' in /in/ldasM on line 38
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected '&', expecting T_VARIABLE or '$' in /in/ldasM on line 17
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected '&', expecting T_VARIABLE or '$' in /in/ldasM on line 17
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_VARIABLE' or `'$'' in /in/ldasM on line 17
Process exited with code 255.