array_walkのcallbackのargに参照渡しができない。
以下のようにclosureを参照渡ししたらうまくいった。
<?php
$a = [ 'a'=>1,'b'=>-2,'c'=>3 ] ;
$sum=0;
array_walk($a, function($v,$k) use (&$sum){ $sum += abs($v); echo "{$k}:{$sum} ";});
echo "\n{$sum}\n";
実行結果
$ php aw.php
a:1 b:3 c:6
6