【发布时间】:2016-05-10 13:42:35
【问题描述】:
这可能是一个有点愚蠢的问题,它的一个方便而不是功能。
假设我们有这个类:
class A {
public function getId() {
return rand(0,100); //For simplicity's sake
}
}
假设我们有一个A 类型的对象数组,例如$array = [ new A(), new A(), new A() ];
通常,如果我想将所有对象的数组转换为它们的 ID 数组,我会这样做:
$idArray = array_map(function ($a) { return $a->getId(); }, $array);
然而,这让我产生了一种简化它的强烈愿望(我经常使用它)。我想要这样的功能:
$idArray = magic_array_map('getId', $array);
我的问题是,有没有办法通过提供函数名称而不是实际回调来调用 array_map(或类似函数)?类似于array_map('count', $array) 但不是strlen 提供成员方法名称。
简而言之,有没有这种方式内置 PHP 或者我必须自己实现一个 array_map 来添加这个功能?
【问题讨论】: