我经常遇到一种情况,我必须从多个对象中获取一组值。让我用一个虚构的情况和一些代码来澄清这一点。
想象一下我创建了一个类...
class MyObject {
public $x = 0;
public $y = 0;
}
我有一系列实例......
$instances = array(
new Object,
new Object,
new Object
);
我想将所有x
属性作为字符串加入,用逗号分隔......我必须使用循环......
$array = array();
foreach($instances as $instance) array_push($array, $instance->x);
$str = implode(',', $array); // holds an array of all x values
这完全可行,但我非常反对不必要的循环和亲本机实现,因为我对性能有点痴迷 - 我不喜欢循环通过巨大的数组只是为了从每个实例中获取一个属性。
是否有从多个对象获取属性值数组的本地方法?如果是这样,怎么做?如果没有,知道为什么不?
提前致谢。