РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1003 of 1392 menu

Метод merge

Метод merge применяется к коллекции и объединяет её с переданной коллекцией или массивом. Если ключи совпадают, значения из переданной коллекции заменяют значения из исходной. Если ключи уникальны, новые элементы добавляются в конец коллекции. Метод возвращает новую коллекцию, не изменяя исходную.

Синтаксис

<?php $collection->merge($items); ?>

Пример

Объединим коллекцию с массивом:

<?php use Illuminate\Support\Collection; $coll = new Collection([1, 2, 3, 4, 5]); $res = $coll->merge([6, 7, 8]); echo $res; ?>

Результат выполнения кода:

[1, 2, 3, 4, 5, 6, 7, 8]

Пример

При объединении ассоциативных массивов с одинаковыми ключами:

<?php use Illuminate\Support\Collection; $coll = new Collection(['a' => 1, 'b' => 2, 'c' => 3]); $res = $coll->merge(['b' => 4, 'd' => 5]); echo $res; ?>

Результат выполнения кода:

{"a":1,"b":4,"c":3,"d":5}

Обратите внимание, что значение с ключом 'b' было заменено на 4.

Пример

Объединим коллекцию с другой коллекцией:

<?php use Illuminate\Support\Collection; $coll1 = new Collection(['a', 'b', 'c']); $coll2 = new Collection(['d', 'e']); $res = $coll1->merge($coll2); echo $res; ?>

Результат выполнения кода:

["a","b","c","d","e"]

Пример

Исходная коллекция при этом не изменяется:

<?php use Illuminate\Support\Collection; $coll = new Collection([1, 2, 3, 4, 5]); $coll->merge([6, 7, 8]); echo $coll; ?>

Результат выполнения кода:

[1, 2, 3, 4, 5]

Пример

Объединим коллекцию моделей Eloquent с массивом:

<?php namespace AppHttpControllers; use AppModelsArticle; use Illuminate\Support\Collection; class ArticleController extends Controller { public function index() { $articles = Article::where('status', 'published')->get(); $newArticles = new Collection([ ['title' => 'article 4', 'status' => 'draft'], ['title' => 'article 5', 'status' => 'draft'] ]); $res = $articles->merge($newArticles); return $res; } } ?>

Смотрите также

  • метод concat,
    который объединяет коллекции без замены значений
  • метод union,
    который объединяет коллекции с сохранением уникальности ключей
  • метод combine,
    который создает коллекцию из ключей и значений
  • метод collect,
    который создает новую коллекцию из массива
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить