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

Метод shift

Метод shift применяется к коллекции Laravel и возвращает первый элемент коллекции, одновременно удаляя его из неё. Если коллекция пуста, метод возвращает null. Метод полезен, когда нужно обработать элемент коллекции и исключить его из дальнейшего использования. После вызова метода размер коллекции уменьшается на один элемент.

Синтаксис

<?php $res = $collection->shift(); ?>

Пример

Давайте создадим коллекцию из чисел и извлечём первый элемент с помощью метода shift:

<?php use Illuminate\Support\Collection; $collection = new Collection([1, 2, 3, 4, 5]); $res = $collection->shift(); echo $res; echo "\n"; print_r($collection->all()); ?>

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

"1" Array ( [0] => 2 [1] => 3 [2] => 4 [3] => 5 )

Как видно из примера, метод вернул первый элемент (число 1), а сама коллекция теперь содержит только элементы [2, 3, 4, 5].

Пример

Рассмотрим работу метода shift с ассоциативным массивом:

<?php use Illuminate\Support\Collection; $collection = new Collection([ 'id' => 1, 'name' => 'article', 'category' => 'tech' ]); $res = $collection->shift(); echo $res; echo "\n"; print_r($collection->all()); ?>

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

"1" Array ( [name] => article [category] => tech )

Метод вернул значение первого элемента по ключу 'id', а исходная коллекция потеряла этот элемент.

Пример

Давайте рассмотрим использование метода shift с коллекцией объектов:

<?php use Illuminate\Support\Collection; class User { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $users = new Collection([ new User('user1', 25), new User('user2', 30), new User('user3', 22) ]); $res = $users->shift(); echo $res->name . ' - ' . $res->age; echo "\n"; echo "Remaining users: " . $users->count(); ?>

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

"user1 - 25" "Remaining users: 2"

Пример

Важно помнить, что метод shift изменяет исходную коллекцию. Рассмотрим пример с пустой коллекцией:

<?php use Illuminate\Support\Collection; $collection = new Collection([]); $res = $collection->shift(); var_dump($res); echo "\n"; echo "Collection is empty: " . ($collection->isEmpty() ? 'true' : 'false'); ?>

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

"NULL" "Collection is empty: true"

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

  • метод pop,
    который извлекает и удаляет последний элемент коллекции
  • метод prepend,
    который добавляет элемент в начало коллекции
  • метод first,
    который возвращает первый элемент без удаления
  • метод pull,
    который извлекает элемент по ключу и удаляет его
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить