PHP оператор switch
Оператор switch похож на серии операторов IF с одинаковым условием. Чаще всего он используется в том случае, когда использовать конструкцию if-else нецелесообразно. Он сравнивает значение условного выражения с несколькими значениями. В качестве выражения обычно используется переменная, в зависимости от значения которой должен быть исполнен тот или иной блок кода. Для сравнения в switch используется оператор равенства (==).
Оператор выбора switch имеет следующий формат:
1 2 3 4 5 6 7 8 9 10 11 |
switch (<Переменная или выражение>) { case <Значение 1>: <Выражение 1>; break; case <Значение 2>: <Выражение 2>; break; … default: <Выражение>; } |
Оператор switch берет значение, возвращаемое условным выражением, и начинает сравнивать его со всеми значениями, стоящими рядом с ключевым словом case (метка), по порядку. Как только совпадение обнаружено, выполняется соответствующий блок кода. Если ни одно из значений не описано в блоках case, то выполняется блок default. Оператор break позволяет досрочно выйти из оператора выбора switch. Если не указать оператор break в конце блока case, то будет выполняться следующий блок case вне зависимости от указанного значения.
Рассмотрим следующий пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
switch ($a) { case 0: echo "a=0<br>"; break; case 1: echo "a=1<br>"; break; case 2: echo "a=2<br>"; break; default: echo "переменная с таким значением не найдена"; } |
Для переменной $a оператор switch ищет значения в каждом case, и если не находит, то срабатывает блок default. Такую конструкцию можно создать и с помощью условия if-else, но выглядеть это будет менее изящно.