Урок 7. Условная конструкция switch()

Конструкция switch() очень похожа на полную запись if, в которой есть 1 или несколько elseif. Основная задача данной конструкции – проверка разных совпадений. Конструкцию switch(), как правило, применяют в случаях, когда переменная может иметь различные значения и необходимо выполнить определенные действия в зависимости от данных значений. Ниже представлен синтаксис записи конструкции  switch():

switch(выражение){
case(условие):
//блок выражений
…
default:
//блок выражений
}

Результат выражения сравнивается с условиями в круглых скобках после case. Блок выражений выполняется, если результат соответствует условию, в ином случае – проверяется следующее условие. Если условия закончились и ни одно из них не подошло, выполняется часть кода default. В команде switch() у блока default такое же назначение, как и в else в условной конструкции if . Обе конструкции очень похожи. Пример:

<?php
switch($b){
case(4):
echo ‘$b=4’;
break;
case(5):
echo ‘$b=5’;
break;
default:
echo ‘$b!=4’;
}
?>

Аналогичный код:

<?php
if($b==4){
echo ‘$b=4’;
}
elseif($b==5){
echo ‘$b=5’;
}
else{
echo ‘$b!=4’;
}
?>

Для предотвращения дальнейшей проверки условий и выхода из switch() применяют команду break.

Используя конструкцию switch() можно сделать небольшой сайт в одном РНР – файле, пример находится ниже:

<?php
//Сперва проверяем, отправлялась ли форма
if(isset($_GET[“straniza”])){
$straniza=addslashes($_GET[“straniza”]);
}
else{
$straniza=“”;
}
switch($straniza){
//Если пользователь сайта выбрал раздел «Услуги»
case(“services”):
echo“<h1>Услуги</h1>”.
“<form action=‘index.php’ method=‘GET’>”.
“<select name=‘straniza’>”.
“<option value=‘about’>О компании</option>”.
“<option value=‘services’>Услуги</option>”.
“<option value=‘’>Главная</option>”.
“</select><input type=submit value=‘GO!’></form>”;
break;
//Если пользователь сайта выбрал раздел «О компании»
case(“about”):
echo“<h1>О компании</h1>”.
“<form action=‘index.php’ method=‘GET’>”.
“<select name=‘straniza’>”.
“<option value=‘about’>О компании</option>”.
“<option value=‘services’>Услуги</option>”.
“<option value=‘’>Главная</option>”.
“</select><input type=submit value=‘GO!’></form>”;
break;
//По умолчании выводим главную страницу
default:
echo“<h1>Главная страница</h1>”.
“<form action=‘index.php’ method=‘GET’>”.
“<select name=‘straniza’>”.
“<option value=‘about’>О компании</option>”.
“<option value=‘services’>Услуги</option>”.
“<option value=‘’>Главная</option>”.
“</select><input type=submit value=‘GO!’></form>”;
}
?>

В примере мы писали весь html – код прямо внутри скрипта, что обычно не делают в реальных РНР – приложениях. Вместо етого используют команду include, которую мы рассмотрим позже, или пользуются шаблонами, которые мы также будем изучать в следующих уроках.