Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pplrPmBlVL 67 of 252 menu
◀ ▶

Переменная $loop в Blade в Laravel

При переборе массива с помощью @foreach внутри цикла доступна специальная переменная $loop. Она обеспечивает доступ к некоторой полезной информации об итерациях цикла.

Пусть из действия контроллера в представление передается следующее:

<?php return view('post.show', [ 'arr' => ['a', 'b', 'c'], ]); ?>

Давайте на примере этого массива изучим возможности переменной $loop.

Граничные итерации

Можно узнать, первая это или последняя итерация цикла:

@foreach ($arr as $elem) @if ($loop->first) first iteration @endif @if ($loop->last) last iteration @endif {{ $elem }} @endforeach

Четность

Можно также узнать четность итерации цикла:

@foreach ($arr as $elem) @if ($loop->odd) odd iteration @endif @if ($loop->even) even iteration @endif {{ $elem }} @endforeach

Итерации

Можно узнать индекс текущей итерации (начинается с нуля):

@foreach ($arr as $elem) {{ $loop->index }} {{ $elem }} @endforeach

Можно узнать номер текущей итерации (начинается с единицы):

@foreach ($arr as $elem) {{ $loop->iteration }} {{ $elem }} @endforeach

Можно узнать, сколько итераций осталось:

@foreach ($arr as $elem) {{ $loop->remaining }} {{ $elem }} @endforeach

Количество элементов

Можно узнать количество элементов в перебираемом массиве:

@foreach ($arr as $elem) {{ $loop->count }} {{ $elem }} @endforeach

Практические задачи

Пусть из действия контроллера в представление передается следующее:

<?php return view('post.show', [ 'arr' => ['a', 'b', 'c', 'd'], ]); ?>

Выведите элементы в виде списка ul. Перед значением элемента выводите порядковый номер итерации, начиная с 0.

Модифицируйте предыдущую задачу так, чтобы порядковый номер итерации начинался с 1.

Модифицируйте предыдущую задачу так, чтобы для первой li добавлялся CSS класс first, а для последней - класс last.

Пусть из действия контроллера в представление передается следующее:

<?php return view('post.show', [ 'arr' => [1, 2, 3, 4, 5], ]); ?>

Выведите каждый элемент в теге b, а три последних элемента массива - в теге i.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить