Why is array_walk with anonymous function providing different result than foreach?
<p>PHP Version 5.3.2-1ubuntu4.15</p>

<p>1st, starting values:</p>

<pre><code>$value_array = array('0.000','2.530',8);
$op_value = 2;
</code></pre>

<p>Try this:</p>

<pre><code>            foreach($value_array as &amp;$source_value) {
                $source_value = $source_value + $op_value;
            }
</code></pre>

<p>And get $value_array == (2,4.53,10);</p>

<p>But if you run this:</p>

<pre><code>            array_walk($value_array,function(&amp;$source_value) {
                $source_value = $source_value + $op_value;
            });
</code></pre>

<p>You get $value_array == (0,2.53,8);</p>

<p>The first one gives the expected result, the second one doesn't. But it does do SOMEthing. The excess 0's ended up getting chopped off.</p>

<p>Why is this? I wanted to use array_walk but now have to use foreach.</p>
