Использовать значение по умолчанию в случае переключения PHP

Subodh Poudel 30 Январь 2023 8 Июль 2021
  1. PHP switch-case
  2. Используйте оператор default в операторе switch-case в PHP
  3. Используйте оператор default Без оператора break в PHP switch-case
Использовать значение по умолчанию в случае переключения PHP

Мы представим операторы switch case в PHP. Мы опишем различные сценарии переключения вариантов и то, как код обрабатывает эти случаи. Затем мы познакомимся с оператором break и его использованием в операторе switch case в PHP.

Мы проверим, выполняется ли кейс default, если перед ним существует соответствующий кейс. В этом методе мы удалим оператор break, чтобы проверить результат.

PHP switch-case

Оператор switch-case является условным и является альтернативой оператору if-elseif-else. Оператор проверяет переменную для нескольких случаев, пока не найдет правильное совпадение, и выполняет его в соответствии с совпадением. Мы можем использовать оператор switch, чтобы проверить переменную, и оператор case, чтобы указать случай, который нужно проверить. Мы пишем фрагмент кода после оператора case, чтобы выполнить код, если регистр совпадает.

Оператор switch-case отличается от оператора if-elseif-else одним отличием. Оператор if-elseif-else выполняет единственный код после того, как условие истинно, и прерывает условную проверку. Но в операторе switch case проверяется каждый случай, и выполняется каждый соответствующий код. Чтобы избавиться от проблемы, мы используем оператор break. Когда регистр совпадает и соответствующие коды выполняются, выполнение доходит до оператора break, и условная проверка прерывается. Поэтому мы пишем оператор break в конце каждого кейса.

Например, создайте переменную $favfood и присвойте ей значение pizza. Напишите оператор switch, взяв в скобки переменную $favfood. Внутри оператора switch напишите case и укажите case momo как case momo :. Не пропускайте двоеточие после значения. Используйте оператор echo под регистром и выведите на экран сообщение Your favorite food is momo!. Напишите оператор break после отображения сообщения. Точно так же напишите падежи для spaghetti и pizza, как вы делали для momo, отобразите сообщение соответствующим образом и напишите break для каждого случая.

В приведенном ниже примере отображается сообщение Your favorite food is pizza! потому что переменная $favfood содержит значение pizza. Во-первых, тестируется корпус momo. Поскольку он не совпадает, исполнение переходит в сторону корпуса spaghetti. Этот случай тоже не совпадает, но случай pizza совпадает. Затем он отображает соответствующее сообщение и выполняет оператор break. Оператор break завершает весь оператор switch case, предотвращая выполнение дальнейшего кода.
Пример кода:

# php 7.*
<?php
$favfood = "pizza";
switch ($favfood) {
    case "momo":
        echo "Your favorite food is momo!";
    break;
    case "spaghetti":
        echo "Your favorite food is spaghetti!";
    break;
    case "pizza":
        echo "Your favorite food is pizza!";
    break;
    case "burger":
        echo "Your favorite food is burger!";
    break;
}
?>

Выход:

Your favorite color is pizza!

Используйте оператор default в операторе switch-case в PHP

Мы можем использовать оператор default в операторе switch-case для обозначения случаев, которые не соответствуют указанным выше случаям. Другими словами, оператор default будет выполнен, если ни один из вариантов не совпадет. В конце всех кейсов пишем дефолтный оператор. В приведенном выше примере регистр по умолчанию отсутствует. Если ни один из упомянутых случаев не соответствует, код ничего не выводит. Таким образом, утверждение default относится к остальным случаям.

Мы можем изменить первый пример кода, чтобы проиллюстрировать использование оператора default. Например, присвойте значение spaghetti переменной $favfood. Убрать кодовые блоки корпуса spaghetti и добавить оператор по умолчанию. Внутри оператора default отобразите сообщение We could not find your favorite food. Напишите break после сообщения.

В приведенном ниже примере ни один из указанных случаев не соответствует. Итак, элемент управления переходит к заявлению default. Затем отображается соответствующее сообщение. Если бы мы не удалили блоки кода spaghetti, оператор по умолчанию не был бы выполнен. Показывалось сообщение Your favorite food is spaghetti!. Оператор break прервет условную проверку, если регистр совпадет.

Пример кода:

#php 7.x
<?php
$favfood = "spaghetti";
switch ($favfood) {
    case "momo":
        echo "Your favorite food is momo!";
    break;
    case "pizza":
        echo "Your favorite food is pizza!";
    break;
    case "burger":
        echo "Your favorite food is burger!";
    break;
    default:
        echo "We could not find your favorite food";
    break;
}
?>

Выход:

We could not find your favorite food

Используйте оператор default Без оператора break в PHP switch-case

Мы можем использовать оператор default в случае switch без использования оператора break, чтобы проверить, будет ли блок default выполнять перед ним соответствующий case. Мы можем немного изменить приведенный выше пример кода для демонстрации. Например, присвоите $favfood значению momo. Напишите регистры и блоки кода для momo, pizza, burger и default соответственно. Не пишите оператор break ни в одном из блоков кода.

В приведенном ниже примере выполнение проходит по всем случаям и отображает все сообщения. Даже если ранее были совпадающие случаи, блок по умолчанию будет выполняться вместе с блоками, за которыми следует соответствующий регистр. Это потому, что мы опустили оператор break.

Пример кода:

#php 7.x
<?php
$favfood = "momo";
switch ($favfood) {
    case "momo":
        echo "Your favorite food is momo!"."<br>"; 
    case "pizza":
        echo "Your favorite food is pizza!"."<br>";
    case "burger":
        echo "Your favorite food is burger!"."<br>";
    default:
        echo "We could not find your favorite food"."<br>"; 
}
?>

Выход:

Your favorite food is momo! 
Your favorite food is pizza! 
Your favorite food is burger! 
We could not find your favorite food.
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn