Метод push
Метод push применяется к объекту коллекции и добавляет переданное значение в конец коллекции. В качестве параметра метод принимает элемент для добавления. После выполнения метода исходная коллекция изменяется, и метод возвращает ту же коллекцию с добавленным элементом. Если необходимо добавить несколько элементов, их можно передать как отдельные аргументы или в виде массива.
Синтаксис
<?php
$collection->push($value);
?>
Метод можно вызывать цепочкой с другими методами коллекции, так как он возвращает объект коллекции.
Пример
Добавим один элемент в конец коллекции:
<?php
use Illuminate\Support\Collection;
$collection = new Collection(['a', 'b', 'c']);
$collection->push('d');
$res = $collection->all();
foreach ($res as $item) {
echo $item;
}
?>
Результат выполнения кода:
"abcd"
Как видно, элемент 'd' был добавлен в конец коллекции. При этом исходная коллекция изменилась.
Пример
Добавим несколько элементов в коллекцию, передав их как отдельные аргументы:
<?php
use Illuminate\Support\Collection;
$collection = new Collection([1, 2, 3]);
$collection->push(4, 5);
$res = $collection->all();
print_r($res);
?>
Результат выполнения кода:
"Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)"
Элементы 4 и 5 были добавлены в конец коллекции в том порядке, в котором они были переданы в метод.
Пример
Используем метод push в цепочке с другими методами коллекции:
<?php
use Illuminate\Support\Collection;
$collection = new Collection(['a', 'b']);
$res = $collection->push('c')
->push('d')
->map(function ($item) {
return strtoupper($item);
});
print_r($res->all());
?>
Результат выполнения кода:
"Array
(
[0] => A
[1] => B
[2] => C
[3] => D
)"
В этом примере мы сначала добавили элементы 'c' и 'd' в коллекцию, а затем применили метод map для преобразования всех элементов в верхний регистр.