PHP:从customs对象函数获取数组

PHP:从customs对象函数获取数组,php,arrays,object,Php,Arrays,Object,我搜索一个php函数,该函数将执行以下过程: class Item{ private $id; public function __construct($id){ $this->id = $id } public function foo(){ return 'Item_'.$this->id; } } my_array = array(); $my_array[] = new Item(1); $my_array[] = new Item(2); $resu

我搜索一个php函数,该函数将执行以下过程:

class Item{

private $id;

public function __construct($id){
    $this->id = $id
}

public function foo(){
    return 'Item_'.$this->id;
}
}

my_array = array();
$my_array[] = new Item(1);
$my_array[] = new Item(2);
$results = thefunctionimlookingfor($my_array, 'foo');

//which give :
//$results = {'Item_1', 'Item_2'}
有人知道这个函数名吗

$results = array_map(function(Item $item) { return $item->foo(); }, $my_array);
如果你真的需要这个功能:

function applyMethod($data, $method) {
    return array_map(function($item) use ($method) {
        return $item->$method();
    }, $data);
}

$result = applyMethod($my_array, 'foo');

$result应该是字符串还是数组。。。或者一个物体,也许。。?你在找什么?这里$results是一个数组,包含$my_数组中每个对象的“foo”方法返回的所有值。然后检查Bart van den Burg的答案。上面在$results中写的内容可能是一个json字符串;)