PHP の匿名関数とクロージャーに慣れてきました。クロージャーまたは anon 関数を使用して array_walk に渡す必要がありますが、追加のパラメーターを使用すると、単純なコード ブロックになります。
$array = array(1, 2, 3, 4, 5, array(1, 2));
$callback = function(&$value, $key)
{
$value = $key*$value;
};
var_dump($array, array_walk_recursive($array, $callback), $array);
そのままでは非常に単純ですが、次のように機能を変更したいとします。
$callback = function(&$value, $key, $multiplier)
{
$value = $key*$value*$multiplier;
};
乗数をanon関数に渡すにはどうすればよいですか? または、それが閉鎖でなければならない場合、どうすればそれを行うことができますか。
次のようにエラーが発生するためです。
array_walk_recursive($array, $callback(5))
array_walk には、渡すことができる追加のパラメーター $user_data があることは知っていますが、クロージャーまたはアノン関数でそれが必要です。