skillbox banner 468x60skillbox banner 728x90skillbox banner 930x180jivo banner 468x60jivo banner 728x90jivo banner 930x180kwork banner 468x60kwork banner 728x90kwork banner 930x180

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

switch(n) {
    case label1:
        // Код для выполнения, если n=label1
        break;
    case label2:
        // Код для выполнения, если n=label2
        break;
    ...
    default:
        // Код для выполнения, если n отличается от всех меток
}

Рассмотрим следующий пример, в котором для каждого дня отображаются разные сообщения.

<?php
$today = date("D");
switch($today) {
    case "Mon":
        echo "Сегодня понедельник. Нужно убрать в своем доме.";
        break;
    case "Tue":
        echo "Сегодня вторник. Нужно купить немного еды.";
        break;
    case "Wed":
        echo "Сегодня среда. Нужно посетите врача.";
        break;
    case "Thu":
        echo "Сегодня четверг. Нужно отремонтировать свою машину.";
        break;
    case "Fri":
        echo "Сегодня пятница. У нас запланирована вечеринка.";
        break;
    case "Sat":
        echo "Сегодня суббота. Время кино.";
        break;
    case "Sun":
        echo "Сегодня воскресенье. Пора немного отдохнуть.";
        break;
    default:
        echo "Нет информации на этот день.";
        break;
}
?>

У switch-case есть одно важное отличие от оператора if-elseif-else. Оператор switch выполняется строка за строкой (т.е. оператор за оператором), и как только PHP находит оператор case, который оценивается как истинный, он не только выполняет код, соответствующий этому оператору case, но также выполняет все последующие операторы case до конца.

Чтобы предотвратить это, нужно добавить оператор break в конец каждого блока case. Оператор break сообщает PHP выйти из блока операторов switch-case после выполнения кода, связанного с первым истинным случаем.

flexbe banner 480x320flexbe banner 728x90flexbe banner 120x600skillbox banner 480x320skillbox banner 728x90skillbox banner 120x600beget banner 480x320beget banner 728x90beget banner 120x600

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Руководство по загрузке файлов на сервер в PHP

В этом руководстве мы узнаем, как загружать файлы на удаленный сервер с помощью простой HTML-формы и PHP. Вы можете загружать файлы любого типа, например изображения, видео, ZIP-файлы, документы Microsoft Office, PDF-файлы, а также исполняемые файлы и множество других типов файлов. Шаг 1. Создание HTML-формы для загрузки файла В следующем примере будет создана простая HTML-форма, которую…

Руководство по GET и POST запросам в PHP

Веб-браузер связывается с сервером, как правило, с помощью одного из двух HTTP-методов (протокола передачи гипертекста) — GET и POST. Оба метода передают информацию по-разному и имеют разные преимущества и недостатки, как описано ниже. PHP-метод GET В методе GET данные отправляются в виде параметров URL, которые обычно представляют собой строки пар имени и значения, разделенные амперсандами…

Список сообщений об ошибках в PHP

Обычно, когда движок PHP сталкивается с проблемой, препятствующей правильной работе скрипта, он генерирует сообщение об ошибке. Существует шестнадцать различных уровней ошибок, и каждый уровень представлен целым числом и связанной с ним константой. Вот список уровней ошибок: Название Значение Описание E_ERROR 1 Неустранимая ошибка времени выполнения от которой невозможно избавиться. Выполнение скрипта немедленно прекращается E_WARNING 2…