Цикл @for в Blade в Laravel
Директива @foreach удобна для перебора
массива из контроллера. Но иногда массива
нет - нужно просто повторить блок кода
заданное количество раз. Для этого
в Blade есть цикл @for.
Его синтаксис такой же, как у обычного
цикла for в PHP: задаётся
начальное значение, условие и шаг.
Тело цикла пишут между @for
и @endfor.
Пример 1
Выведем счётчик от 0 до 9:
@for ($i = 0; $i < 10; $i++)
counter: {{ $i }}
@endfor
Пример 2
Часто удобнее начинать не с нуля.
Выведем числа от 1 до 10
в отдельных абзацах:
@for ($i = 1; $i <= 10; $i++)
<p>{{ $i }}</p>
@endfor
В браузере отобразится десять абзацев
с числами от 1 до 10.
Пример 3
Тот же цикл можно использовать для
разметки списка. Выведем пункты
ul с номерами:
<ul>
@for ($i = 1; $i <= 5; $i++)
<li>item {{ $i }}</li>
@endfor
</ul>
В браузере отобразится:
<ul>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
<li>item 4</li>
<li>item 5</li>
</ul>
Пример 4
Количество повторений может приходить
из контроллера. Пусть передано число
$count:
<?php
return view('post.show', [
'count' => 3,
]);
?>
Используем его в условии цикла:
@for ($i = 1; $i <= $count; $i++)
<p>step {{ $i }}</p>
@endfor
Практические задачи
С помощью цикла @for выведите 10
абзацев, заполненных числами от 1
до 10.
С помощью @for выведите список
ul из 5 пунктов. В каждом
пункте - квадрат номера: 1,
4, 9 и так далее.
Пусть из контроллера передана переменная
$count. Выведите $count
абзацев с текстом 'step'
и номером шага.