Метод concat
Метод concat применяется к коллекции Laravel
и возвращает новую коллекцию, содержащую элементы
исходной коллекции, дополненные элементами из переданной
коллекции или массива. Первым параметром передаётся
коллекция или массив для объединения. В отличие от
метода merge, метод concat не перезаписывает
существующие ключи при объединении ассоциативных массивов,
а просто добавляет новые элементы в конец коллекции.
Синтаксис
<?php
$collection->concat($items);
?>
Пример
Давайте объединим две коллекции с числами:
<?php
use Illuminate\Support\Collection;
$collection1 = collect([1, 2, 3]);
$collection2 = collect([4, 5, 6]);
$res = $collection1->concat($collection2);
print_r($res->all());
?>
Результат выполнения кода:
[1, 2, 3, 4, 5, 6]
Пример
Можно передать массив вместо коллекции:
<?php
use Illuminate\Support\Collection;
$collection = collect(['a', 'b', 'c']);
$arr = ['d', 'e'];
$res = $collection->concat($arr);
print_r($res->all());
?>
Результат выполнения кода:
["a", "b", "c", "d", "e"]
Пример
Объединение ассоциативных коллекций. Обратите внимание, что ключи не перезаписываются, а элементы просто добавляются в конец:
<?php
use Illuminate\Support\Collection;
$collection1 = collect(['name' => 'John', 'age' => 25]);
$collection2 = collect(['name' => 'Jane', 'city' => 'New York']);
$res = $collection1->concat($collection2);
print_r($res->all());
?>
Результат выполнения кода:
["name" => "John", "age" => 25, "name" => "Jane", "city" => "New York"]
Пример
Объединение коллекции с несколькими массивами:
<?php
use Illuminate\Support\Collection;
$collection = collect([1, 2]);
$res = $collection
->concat([3, 4])
->concat([5, 6]);
print_r($res->all());
?>
Результат выполнения кода:
[1, 2, 3, 4, 5, 6]