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 позволяют удалять как каталоги, так и

Web-Дизайн
help2site
Подборка полезных плагинов для WordPress

Оглавление Плагины для WordPress, которые пригодятся в первую очередь В этом пункте подборка базовых плагинов которые я  устанавливаю на каждый новый сайт под управлением WordPress.  FD Feedburner

Windows
help2site
Дефрагментация диска — решение скорости

Дефрагментация диска может быть идеальным решением для вашей системы, когда начинает замедляться её работа. Многие начинающие пользователи ПК, когда возникает подобная проблема, платят деньги, чтобы

Настройка
help2site
Нужно обновить биос без процессора? Решаем вопрос

Попробуем решить непростую задачу когда нужно обновить БИОС без процессора на материнской плате. Что такое BIOS и как им пользоваться, если коротко, самостоятельная микропрограмма, отвечающая за

Web-Дизайн
help2site
Как правильно подключить шрифт от GoogleFonts

Используя пресеты шрифтов от google fonts разработчики редко заглядывают в код генерируемого css файла. А зря, там самое интересное.  Я хочу рассказать как избежать распространенных

Windows
help2site
Как убрать стрелки с ярлыков в Windows 7

Здравствуйте, дорогие читатели. В данной статье я расскажу вам о том как убрать стрелки с ярлыков в Windows 7. На данный момент существует несколько способов,

Настройка
help2site
Как увеличить скорость работы компьютера?

Оглавление Ускоряем ноутбук или компьютер в 12 этапов Рано или поздно любая техника начинает барахлить, а самое главное падает скорость работы компьютера. Это касается как