PHP バージョン 5.3.2-1ubuntu4.15
最初の開始値:
$value_array = array('0.000','2.530',8);
$op_value = 2;
これを試して:
foreach($value_array as &$source_value) {
$source_value = $source_value + $op_value;
}
$value_array == (2,4.53,10); を取得します。
しかし、これを実行すると:
array_walk($value_array,function(&$source_value) {
$source_value = $source_value + $op_value;
});
$value_array == (0,2.53,8); を取得します。
最初のものは期待される結果を与えますが、2番目のものはそうではありません。しかし、それは何かをします。余分な 0 は切り落とされてしまいました。
どうしてこれなの?array_walk を使用したかったのですが、今度は foreach を使用する必要があります。