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

Директива case

Директива case применяется внутри директивы switch и позволяет выполнять блок кода при совпадении значения переменной с заданным условием. Она работает аналогично оператору case в обычном PHP. После проверяемого значения указывается блок HTML или Blade-кода, который будет выведен при совпадении. Для завершения блока используется директива break. Директива default определяет блок кода, который выполняется, если ни одно из условий не подошло.

Синтаксис

@switch($variable) @case($value1) HTML или Blade-код @break @case($value2) HTML или Blade-код @break @default HTML или Blade-код @endswitch

Пример

Давайте определим блок вывода в зависимости от статуса статьи в представлении:

@php $status = 'published'; @endphp @switch($status) @case('draft') <p>Статья находится в черновиках.</p> @break @case('pending') <p>Статья ожидает модерации.</p> @break @case('published') <p>Статья опубликована.</p> @break @default <p>Неизвестный статус.</p> @endswitch

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

<p>Статья опубликована.</p>

Пример

Рассмотрим более сложный пример с использованием динамической переменной, переданной из контроллера:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; class ArticleController extends Controller { public function show($id) { $res = $id % 3; return view('article', ['res' => $res]); } } ?>
@switch($res) @case(1) <p>Остаток от деления на 3 равен 1.</p> @break @case(2) <p>Остаток от деления на 3 равен 2.</p> @break @default <p>Остаток от деления на 3 равен 0.</p> @endswitch

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

<p>Остаток от деления на 3 равен 2.</p>

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

<p>Остаток от деления на 3 равен 0.</p>

Пример

Директива case поддерживает также множественные условия через запятую:

@php $role = 'admin'; @endphp @switch($role) @case('admin') @case('moderator') <p>У вас есть доступ к панели управления.</p> @break @case('user') <p>У вас есть доступ к личному кабинету.</p> @break @default <p>У вас нет прав доступа.</p> @endswitch

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

<p>У вас есть доступ к панели управления.</p>

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

  • директива switch,
    которая открывает блок для множественного ветвления
  • директива if,
    которая используется для условного вывода
  • директива unless,
    которая выполняет блок при ложном условии
  • директива empty,
    которая проверяет переменную на пустоту
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить