РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
2 of 1392 menu

Директива foreach

Директива foreach в Blade выполняет перебор элементов массива или коллекции. Она принимает два параметра: перебираемую переменную и переменную для текущего элемента. Внутри цикла доступна переменная $loop, которая содержит информацию о текущей итерации.

Синтаксис

@foreach ($array as $element) {{ $element }} @endforeach

Пример

Передадим массив чисел в шаблон и выведем каждый элемент:

<?php namespace AppHttpControllers; class ArticleController extends Controller { public function index() { $res = [1, 2, 3, 4, 5]; return view('index', ['res' => $res]); } } ?>
<ul> @foreach ($res as $elem) <li>{{ $elem }}</li> @endforeach </ul>

Результат выполнения кода:

<ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul>

Пример

Используем переменную $loop для вывода номера итерации:

<?php namespace AppHttpControllers; class ArticleController extends Controller { public function index() { $res = ['a', 'b', 'c', 'd', 'e']; return view('index', ['res' => $res]); } } ?>
@foreach ($res as $elem) <p>{{ $loop->iteration }}. {{ $elem }}</p> @endforeach

Результат выполнения кода:

<p>1. a</p> <p>2. b</p> <p>3. c</p> <p>4. d</p> <p>5. e</p>

Пример

Добавим условие для вывода только чётных чисел:

<?php namespace AppHttpControllers; class ArticleController extends Controller { public function index() { $res = [1, 2, 3, 4, 5, 6]; return view('index', ['res' => $res]); } } ?>
@foreach ($res as $elem) @if ($elem % 2 == 0) <p>{{ $elem }}</p> @endif @endforeach

Результат выполнения кода:

<p>2</p> <p>4</p> <p>6</p>

Пример

Переберём коллекцию пользователей и выведем имена с их должностями:

<?php namespace AppHttpControllers; use AppModelsUser; class ArticleController extends Controller { public function index() { $res = User::all(); return view('index', ['res' => $res]); } } ?>
@foreach ($res as $user) <div> <h3>{{ $user->name }}</h3> <p>{{ $user->email }}</p> </div> @endforeach

Результат выполнения кода:

<div> <h3>John Doe</h3> <p>john@example.com</p> </div> <div> <h3>Jane Smith</h3> <p>jane@example.com</p> </div>

Пример

Используем директиву forelse для обработки пустого массива:

<?php namespace AppHttpControllers; class ArticleController extends Controller { public function index() { $res = []; return view('index', ['res' => $res]); } } ?>
@forelse ($res as $elem) <p>{{ $elem }}</p> @empty <p>No elements found</p> @endforelse

Результат выполнения кода:

<p>No elements found</p>

Смотрите также

  • директива forelse,
    которая добавляет блок для пустых коллекций
  • директива for,
    которая реализует цикл со счётчиком
  • директива while,
    которая выполняет цикл по условию
  • директива break,
    которая прерывает выполнение цикла
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить