# Переменная $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`

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

Из действия в представление передается массив со строками. Выведите элементы этого массива в виде списка `ul`. Сделайте так, чтобы перед значением элемента, выводился еще и порядковый номер итерации, начиная с `0`.

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

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

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

←→
↑