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

Метод splice

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

Синтаксис

<?php $collection = collect($items); $removed = $collection->splice($index, $count, $replacement); ?>

Пример

Давайте удалим два элемента, начиная с индекса 1:

<?php use Illuminate\Support\Collection; $collection = collect(['a', 'b', 'c', 'd', 'e']); $removed = $collection->splice(1, 2); echo "Removed elements: "; print_r($removed->all()); echo "Original collection: "; print_r($collection->all()); ?>

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

"Removed elements: [b, c]" "Original collection: [a, d, e]"

Пример

Давайте удалим все элементы от индекса 2 до конца коллекции:

<?php use Illuminate\Support\Collection; $collection = collect(['a', 'b', 'c', 'd', 'e']); $removed = $collection->splice(2); echo "Removed elements: "; print_r($removed->all()); echo "Original collection: "; print_r($collection->all()); ?>

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

"Removed elements: [c, d, e]" "Original collection: [a, b]"

Пример

Давайте удалим два элемента, начиная с индекса 1, и вставим на их место новые элементы:

<?php use Illuminate\Support\Collection; $collection = collect(['a', 'b', 'c', 'd', 'e']); $removed = $collection->splice(1, 2, ['x', 'y']); echo "Removed elements: "; print_r($removed->all()); echo "Original collection: "; print_r($collection->all()); ?>

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

"Removed elements: [b, c]" "Original collection: [a, x, y, d, e]"

Пример

Давайте удалим элемент из ассоциативного массива по ключу:

<?php use Illuminate\Support\Collection; $collection = collect(['first' => 'a', 'second' => 'b', 'third' => 'c']); $keys = $collection->keys(); $index = $keys->search('second'); $removed = $collection->splice($index, 1); echo "Removed elements: "; print_r($removed->all()); echo "Original collection: "; print_r($collection->all()); ?>

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

"Removed elements: [second => b]" "Original collection: [first => a, third => c]"

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

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