将键上的集合合并为Laravel中的嵌套对象

时间:2014-10-28 01:15:27

标签: php laravel

鉴于3个系列:

$links = new Collection($array_link_objects);
$images = new Collection($array_image_objects);
$combined = new Collection();

合并它们,以下是真的:

$combined[$i]->link = $links[$i];
$combined[$i]->image = $images[$i];

编辑:通常你不需要在键上合并2个数组并将它们嵌入到属性中。但如果你这样做,那就行了。

1 个答案:

答案 0 :(得分:0)

这是一种可以做到的方式。

$merged = combine(['link' => $links, 'image' => $image]);

public function combine($collections) {
  $merged = new Collection();
  $max = count($collections[key($collections)]);
  for($i = 0; $i < $max; $i++)
  {
    $item = new \stdClass();
    foreach($collections as $key => $collection) {
      $item->{$key} = $collection[$i];
    }
    $merged->add($item);
  }
  return $merged;
}