诸如“array_map”之类的 PHP 函数接受一个回调,它可以是一个简单的函数,也可以是一个类或对象方法:
$array2 = array_map('myFunc', $array);
或者
$array2 = array_map(array($object, 'myMethod'), $array);
但是是否有一种语法可以将迭代中绑定的方法传递给当前对象(如 Prototype.js 中的“invoke”)?以便可以使用以下内容:
$array2 = array_map('myMethod', $array);
具有以下效果
foreach($array as $obj) $array2[] = $obj->myMethod();
显然我可以使用这种形式,或者我可以编写一个包装函数来进行调用,甚至可以内联。但由于“myMethod”已经是一种方法,它似乎正在绕着房子走,不得不做其中的一个。