Директива @for
Директива @for в Laravel Blade позволяет создавать классический цикл с счетчиком, аналогичный PHP-циклу for. Она принимает три обязательных параметра: инициализацию счетчика, условие продолжения цикла и операцию инкремента. Внутри конструкции можно использовать переменную счетчика для управления выводом данных.
Синтаксис
@for ($i = 0; $i < 10; $i++)
{{ $i }}
@endfor
Пример
Давайте выведем числа от 0 до 4 в шаблоне:
@for ($i = 0; $i < 5; $i++)
<p>{{ $i }}</p>
@endfor
Результат выполнения кода:
<p>0</p>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
Пример
Выведем элементы массива с использованием счетчика:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class UserController extends Controller
{
public function index()
{
$users = ['user1', 'user2', 'user3', 'user4', 'user5'];
return view('users', ['users' => $users]);
}
}
?>
@for ($i = 0; $i < count($users); $i++)
<p>{{ $users[$i] }}</p>
@endfor
Результат выполнения кода:
<p>user1</p>
<p>user2</p>
<p>user3</p>
<p>user4</p>
<p>user5</p>
Пример
Используем вложенные циклы для создания таблицы:
<table>
@for ($row = 0; $row < 3; $row++)
<tr>
@for ($col = 0; $col < 3; $col++)
<td>{{ $row . ',' . $col }}</td>
@endfor
</tr>
@endfor
</table>
Результат выполнения кода:
<table>
<tr>
<td>0,0</td>
<td>0,1</td>
<td>0,2</td>
</tr>
<tr>
<td>1,0</td>
<td>1,1</td>
<td>1,2</td>
</tr>
<tr>
<td>2,0</td>
<td>2,1</td>
<td>2,2</td>
</tr>
</table>
Пример
Выведем только четные числа от 0 до 10:
@for ($i = 0; $i <= 10; $i+=2)
<p>{{ $i }}</p>
@endfor
Результат выполнения кода:
<p>0</p>
<p>2</p>
<p>4</p>
<p>6</p>
<p>8</p>
<p>10</p>