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


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

Посмотрим на примерах. Пусть мы перебираем циклом некоторый массив:

@foreach ($arr as $elem)
{{ $elem }}
@endforeach
Давайте на примере этого массива изучим возможности переменной $loop.

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

@foreach ($arr as $elem)
@if ($loop->first)
первая итерация
@endif

@if ($loop->last)
последняя итерация
@endif

{{ $elem }}
@endforeach
Четность
Можно также узнать первая это или последняя итерация цикла:

@foreach ($arr as $elem)
@if ($loop->odd)
нечетная итерация
@endif

@if ($loop->even)
четная итерация
@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