Метод implode
Метод implode применяется к коллекции и объединяет её элементы в строку. Первым параметром передаётся разделитель, который будет вставлен между элементами. Вторым параметром можно указать ключ или метод для извлечения значений из объектов. Если второй параметр не указан, метод использует сами элементы коллекции. Возвращает строку.
Синтаксис
<?php
$res = collect($items)->implode($delimiter, $field);
?>
Пример
Давайте объединим элементы простого массива через запятую:
<?php
$collection = collect(['a', 'b', 'c', 'd', 'e']);
$res = $collection->implode(', ');
echo $res;
?>
Результат выполнения кода:
"a, b, c, d, e"
Пример
Объединим массив чисел через дефис:
<?php
$collection = collect([1, 2, 3, 4, 5]);
$res = $collection->implode('-');
echo $res;
?>
Результат выполнения кода:
"1-2-3-4-5"
Пример
Метод implode также работает с коллекциями объектов. Укажем вторым параметром поле объекта для объединения:
<?php
$users = collect([
(object) ['name' => 'John', 'age' => 25],
(object) ['name' => 'Jane', 'age' => 30],
(object) ['name' => 'Bob', 'age' => 22],
]);
$res = $users->implode('name', ', ');
echo $res;
?>
Результат выполнения кода:
"John, Jane, Bob"
Пример
Если коллекция содержит массивы, можно объединить значения по ключу:
<?php
$items = collect([
['id' => 1, 'title' => 'article 1'],
['id' => 2, 'title' => 'article 2'],
['id' => 3, 'title' => 'article 3'],
]);
$res = $items->implode('title', ' | ');
echo $res;
?>
Результат выполнения кода:
"article 1 | article 2 | article 3"