3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php function init(&$select, &$params){ $select = array('key'=>1, 'key2'=>'one', 'key3'=>3333.333); $params = array(); } //echo 'array_walk: '; init($select, $params); $start_time = microtime(TRUE); array_walk($select, function(&$val, $id) { $params[$id] = $val; $val = "{$id} = :{$id}"; }); $end_time = microtime(TRUE); $walk_time = $end_time - $start_time; //echo 'foreach: '; init($select, $params); $start_time = microtime(TRUE); foreach($select as $id => &$val){ $params[$id] = $val; $val = "{$id} = :{$id}"; }unset($val); $end_time = microtime(TRUE); $foreach_time = $end_time - $start_time; echo "<pre> ArrayWalk Time: ".sprintf('%.10F', $walk_time)." Foreach Time: ".sprintf('%.10F', $foreach_time)." array_walk > foreach: ".($walk_time > $foreach_time)." foreach > array_walk ".($foreach_time > $walk_time)."</pre>";
Output for 7.1.0
<pre> ArrayWalk Time: 0.0000100136 Foreach Time: 0.0000019073 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.27, 5.4.1, 5.4.6, 5.4.11, 5.5.7, 5.5.29, 5.6.1, 7.0.14
<pre> ArrayWalk Time: 0.0000100136 Foreach Time: 0.0000030994 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 7.0.12
<pre> ArrayWalk Time: 0.0000100136 Foreach Time: 0.0000109673 array_walk > foreach: foreach > array_walk 1</pre>
Output for 7.0.1, 7.0.6
<pre> ArrayWalk Time: 0.0000078678 Foreach Time: 0.0000019073 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 7.0.5
<pre> ArrayWalk Time: 0.0000088215 Foreach Time: 0.0000021458 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 7.0.4
<pre> ArrayWalk Time: 0.0000090599 Foreach Time: 0.0000019073 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 7.0.2 - 7.0.3
<pre> ArrayWalk Time: 0.0000071526 Foreach Time: 0.0000019073 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.19 - 5.3.20, 5.4.21, 7.0.0
<pre> ArrayWalk Time: 0.0000100136 Foreach Time: 0.0000028610 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.6, 5.3.8 - 5.3.9, 5.3.11, 5.3.15, 5.3.28, 5.4.2, 5.4.30, 5.5.8, 5.6.0, 5.6.2, 5.6.28
<pre> ArrayWalk Time: 0.0000119209 Foreach Time: 0.0000040531 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.1, 5.3.16, 5.4.13, 5.5.1, 5.6.21
<pre> ArrayWalk Time: 0.0000109673 Foreach Time: 0.0000040531 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.26, 5.5.3, 5.5.18, 5.5.21, 5.5.32, 5.6.5 - 5.6.6, 5.6.18 - 5.6.20
<pre> ArrayWalk Time: 0.0000090599 Foreach Time: 0.0000030994 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.4.15, 5.5.5, 5.5.23, 5.5.25, 5.6.17
<pre> ArrayWalk Time: 0.0000090599 Foreach Time: 0.0000028610 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.6.16
<pre> ArrayWalk Time: 0.0000112057 Foreach Time: 0.0000030994 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.5.20, 5.6.4, 5.6.15
<pre> ArrayWalk Time: 0.0000088215 Foreach Time: 0.0000028610 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.25, 5.4.37, 5.4.39, 5.4.42, 5.6.14
<pre> ArrayWalk Time: 0.0000078678 Foreach Time: 0.0000028610 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.4.18, 5.4.36, 5.4.38, 5.5.19, 5.5.26 - 5.5.27, 5.6.12 - 5.6.13
<pre> ArrayWalk Time: 0.0000081062 Foreach Time: 0.0000030994 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.4.41, 5.5.31, 5.6.10 - 5.6.11
<pre> ArrayWalk Time: 0.0000078678 Foreach Time: 0.0000030994 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.6.9
<pre> ArrayWalk Time: 0.0000088215 Foreach Time: 0.0000030994 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.6.3, 5.6.8
<pre> ArrayWalk Time: 0.0000081062 Foreach Time: 0.0000028610 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.6.7
<pre> ArrayWalk Time: 0.0000081062 Foreach Time: 0.0000200272 array_walk > foreach: foreach > array_walk 1</pre>
Output for 5.3.21, 5.5.35
<pre> ArrayWalk Time: 0.0000121593 Foreach Time: 0.0000040531 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.5.28, 5.5.34
<pre> ArrayWalk Time: 0.0000150204 Foreach Time: 0.0000050068 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.10, 5.4.22, 5.4.25, 5.5.2, 5.5.33
<pre> ArrayWalk Time: 0.0000109673 Foreach Time: 0.0000050068 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.2, 5.4.29, 5.5.30
<pre> ArrayWalk Time: 0.0000109673 Foreach Time: 0.0000038147 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.5.24
<pre> ArrayWalk Time: 0.0000150204 Foreach Time: 0.0000061989 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.23, 5.4.16, 5.4.35, 5.5.22
<pre> ArrayWalk Time: 0.0000100136 Foreach Time: 0.0000040531 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.5.15 - 5.5.16
<pre> ArrayWalk Time: 0.0000109673 Foreach Time: 0.0000030994 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.5.14
<pre> ArrayWalk Time: 0.0000097752 Foreach Time: 0.0000028610 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.5.13
<pre> ArrayWalk Time: 0.0000128746 Foreach Time: 0.0000061989 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.4.3, 5.5.12
<pre> ArrayWalk Time: 0.0000131130 Foreach Time: 0.0000050068 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.5.11
<pre> ArrayWalk Time: 0.0000131130 Foreach Time: 0.0000038147 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.0, 5.4.10, 5.4.20, 5.4.26, 5.5.9 - 5.5.10
<pre> ArrayWalk Time: 0.0000140667 Foreach Time: 0.0000050068 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.18, 5.3.24, 5.4.17, 5.5.0, 5.5.6
<pre> ArrayWalk Time: 0.0000119209 Foreach Time: 0.0000038147 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.5.4
<pre> ArrayWalk Time: 0.0000140667 Foreach Time: 0.0000391006 array_walk > foreach: foreach > array_walk 1</pre>
Output for 5.3.14, 5.4.9, 5.4.12, 5.4.28, 5.4.45
<pre> ArrayWalk Time: 0.0000128746 Foreach Time: 0.0000050068 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.4.44
<pre> ArrayWalk Time: 0.0000259876 Foreach Time: 0.0000040531 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.4.43
<pre> ArrayWalk Time: 0.0000081062 Foreach Time: 0.0000040531 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.12, 5.4.40
<pre> ArrayWalk Time: 0.0000138283 Foreach Time: 0.0000050068 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.4.34
<pre> ArrayWalk Time: 0.0000090599 Foreach Time: 0.0000050068 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.4.14, 5.4.27, 5.4.31 - 5.4.32
<pre> ArrayWalk Time: 0.0000090599 Foreach Time: 0.0000040531 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.4.0, 5.4.24
<pre> ArrayWalk Time: 0.0000121593 Foreach Time: 0.0000050068 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.5, 5.4.23
<pre> ArrayWalk Time: 0.0000112057 Foreach Time: 0.0000040531 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.4.19
<pre> ArrayWalk Time: 0.0000100136 Foreach Time: 0.0000038147 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.4.8
<pre> ArrayWalk Time: 0.0000128746 Foreach Time: 0.0000059605 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.4.7
<pre> ArrayWalk Time: 0.0000150204 Foreach Time: 0.0000040531 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.4.5
<pre> ArrayWalk Time: 0.0000121593 Foreach Time: 0.0000059605 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.3, 5.3.29, 5.4.4
<pre> ArrayWalk Time: 0.0000119209 Foreach Time: 0.0000050068 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.22
<pre> ArrayWalk Time: 0.0000131130 Foreach Time: 0.0000040531 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.17
<pre> ArrayWalk Time: 0.0000109673 Foreach Time: 0.0000028610 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.13
<pre> ArrayWalk Time: 0.0000121593 Foreach Time: 0.0000030994 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.7
<pre> ArrayWalk Time: 0.0000128746 Foreach Time: 0.0000028610 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 5.3.4
<pre> ArrayWalk Time: 0.0000128746 Foreach Time: 0.0000040531 array_walk > foreach: 1 foreach > array_walk </pre>
Output for 4.4.2 - 4.4.9, 5.1.0 - 5.2.17
Parse error: syntax error, unexpected T_FUNCTION in /in/GcUIt on line 11
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1, 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_FUNCTION in /in/GcUIt on line 11
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/GcUIt on line 11
Process exited with code 255.