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