コールバック指定と配列

仕事上で驚いたので脊髄反射的にポスト.# twitterでは驚きだけが出たw

phpにて...

array_map('callback_func', $array);
call_user_func_array('callback_func', $array);

とか,できることなら使いたくない関数を使うとき,
使いたい関数がインスタンス内のパブリックメソッド($hoge->fuga())なんて場合は

array_map(array($hoge, 'fuga'), $array);
call_user_func_array(array($hoge, 'fuga'), $array);

とするらしい.*1
なんて奇妙すてきなんでしょ

ちなみにスタティックメソッドの場合

call_user_func_array(array('Class', 'method'), $array);
call_user_func_array(array('Class::method'), $array); # 5.2.3以降
call_user_func_array(array('Child','Parent::method'), $array); # 5.3以降

仕様が定まってないの?といった印象.

*1:http://jp2.php.net/language.pseudo-types#language.types.callback