Материал предоставлен https://it.rfei.ru

Инструкция switch

Инструкция 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