Использование 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: не является обязательным и в случае его отсутствия программа просто продолжит свое выполнение, если не найдет ни одного совпадающего варианта.