#2.14 php Оператор SWITCH
Primary tabs
При проверке большого количества условий даже использование оператора if... elseif может стать несколько утомительным. В таких случаях на помощь приходит оператор switch, предназначенный для сравнения заданного выражения с различными вариантами значений.
Оператор начинается с ключевого слова switch, за которым в скобках записывается некоторое выражение. Далее после ключевого слова case перечисляются возможные варианты значений. В случае совпадения результата вычисления выражения с каким-либо значением, выполняются операторы, записанные ниже, вплоть до оператора break. Если результат вычисления выражение не совпал ни с одним из значений, заданных после case, выполняются операторы, расположенные после ключевого слово default.
Впрочем, секция default может и отсутствовать, тогда в таком случае никаких действий не выполняется. Ниже приведен пример использования оператора switch для анализа температуры.
$temperature = 25;
switch ($temperature)
{
case 25 :
echo "Приятная погода";
break;
case 26 :
echo "Все еще приятная погода";
break;
case 27 :
echo "Становится теплее";
break;
default :
echo "Температура за заданными пределами";
break;
}В результате выполнения этого примера на экран будет выведена строка
Приятная погода
Следует иметь в виду, что после case могут располагаться только значения целого, вещественного или строкового типов. Но что если требуется выполнить одно и то же действие при нескольких значениях выражения? В этом случае можно использовать несколько подряд идущих конструкций case. Это иллюстрирует следующий пример, в котором температура анализируется на принадлежности диапазонам $24$-$26$, $27$-$29$ и т. д.
Пример 1. Использование оператора switch
<HTML>
<HEAD>
<TITLE>
Использование оператора switch
</TITLE>
</HEAD>
<BODY>
<H1>
Использование оператора switch
</H1>
<?php
$temperature = 27;
switch ($temperature)
{
case 24:
case 25:
case 26:
echo "Приятная погода";
break;
case 27:
case 28:
case 29:
echo "Все еще приятная погода";
break;
case 30 :
case 31:
case 32:
echo "Становится жарковато" ;
break;
default:
echo "Температура вне заданных пределов" ;
}
?>
</BODY>
</HTML>Результат выполнения этого примера:

- Log in to post comments
- 681 reads