Инструкция switch
применяется в тех случаях, когда у одной переменной или у результата вычисления выражения может быть несколько значений, каждое из которых должно вызывать особую функцию.
Рассмотрим, например, управляемую кодом РНР систему меню, которая в соответствии с пожеланием пользователя передает отдельную строку коду основного меню. Предположим, что есть следующие варианты: Home
, About
, News
, Login
и Links
, — а переменная $page
принимает одно из этих значений в соответствии с информацией, введенной пользователем.
Код реализации этого замысла с использованием конструкции if...elseif...else
может иметь вид, показанный в примере.
Пример. Многострочная инструкция if...elseif
<?php
if ($page == "Home") echo "You selected Home";
elseif ($page == "About") echo "You selected About";
elseif ($page == "News") echo "You selected News";
elseif ($page == "Login") echo "You selected Login";
elseif ($page == "Links") echo "You selected Links";
?>
Код, в котором используется инструкция switch
, показан в следующем примере.
Пример. Инструкция switch
<?php
switch ($page)
{
case "Home": echo "You selected Home";
break;
case "About": echo "You selected About";
break;
case "News": echo "You selected News";
break;
case "Login": echo "You selected Login";
break;
case "Links": echo "You selected Links";
break;
}
?>
Как видите, переменная $page
используется только один раз — в начале инструкции switch
. После этого все соответствия проверяются командой case. Когда найдено соответствие, выполняется его условная инструкция. Разумеется, в настоящей программе в этом месте будет использоваться код отображения или перехода на страницу, а не простое сообщение пользователю о том, что именно он выбрал.
Следует заметить, что в инструкциях switch
внутри команд case фигурные скобки не используются. Вместо этого инструкции начинаются с двоеточия и заканчиваются командой break
. Тем не менее весь перечень команд case
в инструкции switch
заключается в фигурные скобки.
Инструкция elseif | Прекращение работы инструкции switch |