Switch. Условные конструкции в PHP. Часть 2.

В первой части статьи про условия в PHP мы разбирались про синтаксис и примеры использования конструкции if…else…. В этой заметке мы продолжим рассматривать управляющие условные конструкции в PHP. Речь здесь пойдет о конструкции ветвлений switch (case). Мы рассмотрим его в сравнении с конcтрукцией if..else, и на примерах разберем случаи, когда выгодней использовать switch вместо if.

Проблема использования IF

Как я уже сказал switch используется для построения условных конструкций. Давайте сначала напишем сложное ветвление с помощью if…else:

				
					<?php 
 $a = 4;
 if ($a == 1) { 
 echo "A = 1"; 
 } 
 elseif ($a == 2){ 
 echo "A = 2"; 
 } 
 elseif ($a == 3){ 
 echo "A = 3"; 
 } 
 elseif ($a == 4){ 
 echo "A = 4"; 
 } 
 elseif ($a == 5){ 
 echo "A = 5"; 
 } 
?>
				
			
Что мы здесь имеем. Переменную $a со значением 4. И кучу условий, которые по очередно сравнивают значение переменной $a сначала с 1, затем с 2 и т.д. до 5. Если в какой то момент условие выполняется, то на экран выводится строка. В нашем случае на экран выведется строка:

A = 4

Громоздкая конструкция не так ли? Лично у меня от нее рябит в глазах…

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

В случаях когда значение какого-либо выражения нужно сравнить с фиксированной величиной гораздо выгоднее использовать конструкцию switch.

Синтаксис switch:

				
					switch (выражение) {
    case 'значение 1':
        группа операторов 1;
        break;
    ........................
    case 'значение n':
        группа операторов n;
        break;
    default:
        группа операторов по умолчанию;
        break;
}
				
			

Логика работы как и в предыдущем примере с if. Выражение, которое стоит в switch поочередно (сверху вниз) сравнивается со значениями в case. Если соответствие найдено, то выполняется группа операторов в этой ветке case. Ветка default выполняется в том случае, если выражение не равно ни одному значению из case.

Важно: в этом описание использовано новое для вас ключевик слово break. Это ключевое слово используется для выхода из конструкции наружу (во внешний блок). Если мы уберем break, то после выполнения кода в ветке с соответствующим значением, будут выполняться все ветки, которые расположены ниже. Это типичная ошибка начинающих программистов. Будьте внимательны!

Рассмотрим использование switch на нашем примере:

				
					<?php 
$a = 5; 
switch ($a) { 
 case 1: 
 echo "A = 1";
 break; 
 case 2: 
 echo "A = 2"; 
 break; 
 case 3: 
 echo "A = 3"; 
 break; 
 case 4: 
 echo "A = 4"; 
 break; 
 case 5: 
 echo "A = 5"; 
 break; 
 default: 
 echo "A не равно числам 1,2,3,4 и 5"; 
 break; } 
?>
				
			

Выполните этот код и посмотрите результат выполнения.

Теперь я по мере возможности буду давать небольшие задания по уроку. Эти задания помогут вам отработать и запомнить места, где возможно совершение ошибок при программировании. Также с их помощью вы более полно овладеете темой. Хотелось бы в комментариях услышать ваше мнение насчет этой идеи.

Самостоятельные задания:

  • Измените значение переменной $a так, чтобы попасть в другую ветку и в ветку выполняющуюся по умолчанию (default).
  • Удалите break из кода и посмотрите, как поведет себя код.


На сегодня все.

Свежие записи
Команда RD

Команда RD и RMDIR позволяют удалять как каталоги, так и

Оборудование
help2site
Влияние блока питания на работу компьютера

Что нужно для стабильной работы компьютера? Хорошая видеокарта, процессор, системная плата, но многие забывают добавить к этому списку качественный и мощный блок питания. Блок питания, как центр электроснабжения

iOS
help2site
Запускаем Windows 8 на iPad

У этой программы имеется поддержка рабочего стола Win8 Metro Testbed, который предоставляет возможность разработчикам тестировать на управляющие жесты, а также функциональность приложений для Windows 8

Web-Дизайн
help2site
Операторы PHP

Операторы позволяют выполнять различные действия с переменными, константами и выражениями. Специальные операторы присваивания Наряду с обычным оператором присваивания в PHP существуют комбинированные операторы, которые позволяют

Оборудование
help2site
Современные видеокарты

Выбрать графический процессор для выполнения определённых задач удобнее всего, зная, какие лучшие видеокарты предыдущего года можно найти на сегодняшний день на отечественном и мировом рынке.