Разработка магазинов с гарантией попадания в ТОП поисковых систем

Узнать подробнее
Eltisbook > PHP учебник > Типы данных в PHP > Использование PHP switch

Использование PHP switch

Использование PHP switch позволяет произвести выбор из нескольких возможных вариантов по определенному условию и сегодня вы в этом убедитесь.

Использование оператора switch в PHP

Switch является конструкцией выбора и по принципу своей работы очень напоминает условные операторы if, else, elseif. Принцип работы данной конструкции состоит в следующем:

В самом начале задается некоторая переменная или даже выражение, далее следует набор возможных значений; и если одно из значений совпадает со значением нашей переменной или с результатом выражения, то выполняется блок инструкций, соответствующий этому значению; если же ни одно из возможных значений не совпадает, то будет выполнен блок инструкций, расположенный внутри конструкции default:.

В общем виде структуру switch можно представить следующим образом:

switch (выражение или переменная)
{
case значение1:
блок_инструкций_1 break;
case значение2:
блок_инструкций_2 break;
… default:
блок_инструкций_3
}

Несмотря на очевидное родство с условными операторами, принцип работы у них все–таки разный. Конструкция выбораswitch не приводит выражение к логическому виду и не производит его обработку, а лишь только сравнивает с заданными значениями. Такой принцип бывает очень полезен при отладке программы, когда мы должны получить на выходе определенное значение.

А теперь, пришло время рассмотреть пример, который наглядно покажет особенности использования PHP switch:

<?
$a = array(1,2,3);
switch ($a[0])
{
case 1:
echo «Число равно 1 !»;
break;
case 2:
echo «Число равно 2»;
break;
case 3:
echo «Число равно 3!»;
break;
default:
echo «Это не 1 ил 2 или 3»;
}
?>
Число равно 1 !

В данном примере мы создаем массив чисел, содержащий 3 числа:

$a = array(1,2,3);

Затем используем конструкцию switch для определения значения нулевого (то есть первого) элемента массива. Если значение не совпадает ни с одним из представленных вариантов, то будет выполнен набор команд, находящихся внутриdefault: :

default:
echo «Это не 1 ил 2 или 3»;

Следует заметить некоторые достаточно важные моменты, относящиеся к данной программе. Во–первых после каждого варианта case расположен оператор break;. Необходимо это для того, чтобы при совпадении с каким–либо из вариантов программа выполнила необходимые инструкции и тут же прекратила обход остальных вариантов, т.к. это будет пустой тратой процессорного времени.

Во–вторых следует заметить, что использование default: не является обязательным и в случае его отсутствия программа просто продолжит свое выполнение, если не найдет ни одного совпадающего варианта.