這可能是一個愚蠢的問題,它的一個方便而不是功能。在所有陣列成員上調用對象成員函數
假設我們有類:
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來添加此功能?
我可能沒有正確地解釋它。問題是回調函數本身是數組中每個對象的成員函數。我會在問題中添加更多信息。 – apokryfos