在PHP中合并对象


Merge objects in PHP

例如:

$onePack = $pack->findByCity('London'); //this return me 3 objects from class Pack
$twoPack = $pack->findByCity('New York'); //this return me 2 objects from class Pack
$threePack = $pack->findByCity('Los Angeles'); //this return me 5 objects from class Pack

我想将这个对象合并到一个变量中,然后再与foreach一起使用。

我知道-我可以制作数组,例如:

$array = array();

下一篇:

foreach($onePack as $one) {
    $array[] = $one;
}
foreach($twoPack as $two) {
    $array[] = $two;
}
foreach($threePack as $three) {
    $array[] = $three;
}

现在我把所有的对象(10)都放在一个变量中,但也许这是更好的方法?

怎么样:

$cities = array('London', 'New York', 'Los Angeles');
$arr = array();
foreach($cities as $city) {
  $arr[] = $pack->findByCity($city); 
}

您可以将新城市添加到cities数组中,它们都将添加到$arr变量

您可以使用array_merge

$arr = array_merge($pack1->toArray(), $pack2->toArray(), $pack3->toArray());

并在pack对象中创建一个toArray方法。