使用array_map调用数组中对象的方法?
假设我有一个简单的类,比如:
class MyClass {
private $_prop;
public function getProp() {return $this->_prop;}
[....]
}
现在我想做的不是在范围之内,从()的对象数组中获取$_prop数组。这当然可以用这样的代码来完成:MyClass
MyClass
$objs
$props = array();
foreach ($objs as $obj) {
$props[] = $obj->getProp();
}
但是,这需要引用一些行,特别是当以这种方式格式化时(我必须使用这种格式)。所以问题是:是否可以使用array_map做到这一点?一种方法是使用create函数,但我真的不喜欢php中的lambdas至少很尴尬,如果我理解正确,它的性能就像逃避代码的性能一样,但性能在这里是无关紧要的)。我已经厌倦了搜索很多,没有找到任何明确的答案。但我有点觉得这是不可能的。我尝试过类似的东西,但这不起作用,因为方法不是静态的。array_map(array('MyClass', 'getProp'), $objs)
编辑:我使用的是php 5.3。