次のような単純なクラスがあるとします。
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 を使用してこれを行うことが可能かどうかです。1 つの方法は create 関数を使用することですが、php ではそれがあまり好きではありません (php のラムダは少なくともぎこちなく、正しく理解している場合、そのパフォーマンスは評価されたコードのパフォーマンスに似ていますが、パフォーマンスはここでは重要ではありません)。私はかなりの検索に疲れており、決定的な答えを見つけることができませんでした. でも、それは仕方ないかなという気持ちもあります。のようなことを試しarray_map(array('MyClass', 'getProp'), $objs)
ましたが、メソッドが静的ではないため機能しません。
編集:php 5.3を使用しています。