Урок 9. PHP — Switch

Урок 9. PHP — Switch

В предыдущих уроках мы рассмотрели различные элементы, которые позволяют организовать проверку условия в PHP. Тем не менее, бывают случаи, когда оператор IF…Else не самый эффективный способ для проверки определенных условий.



Например, мы могли бы иметь переменную, которая хранит определенное значение, и вы хотите, чтобы выполнялось какое-то действие в зависимости от значения этой переменной. В таком случае вы можете иметь 20 различных вариантов, которые вы должны обработать с безумно длинным блоком If / ElseIf / ElseIf / ElseIf / … и так далее. Да уж, выглядит неважно, давайте посмотрим, можем ли мы сделать что-то другое.

PHP оператор Switch: Быстрая проверка

С помощью оператора Switch вы можете проверить наличие всех этих условий одновременно, и самое замечательное в том, что на самом деле более эффективно в плане программирования. Истинно беспроигрышная ситуация!

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

PHP оператор Switch: Пример

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

$destination = "Tokyo"; echo "Отправляемся в $destination<br />"; switch ($destination){ case "Las Vegas": echo "Берем с собой $5000! Вегас детка!"; break; case "Amsterdam": echo "Парочка газет, фольга…"; break; case "Egypt": echo "50 бутылок солнцезащитного крема."; break; case "Tokyo": echo "Берем деньги на сувениры."; break; case "Caribbean Islands": echo "Захватите трусы для плавания!"; break; } Результат:

Отправляемся в Tokyo

Берем деньги на сувениры.

Значение переменной $destination было Токио, поэтому, когда PHP выполнял оператор свитч, то на $destination он сразу сделал поиск для случая со значением «Токио». Он нашел его и продолжил выполнять код, который был прописан в этом сегменте.

Вы могли заметить, что каждый случай содержит break. Этот break как раз и позволяет во всех остальных случаях ничего не выполнять. Если бы в приведенном выше примере не было брейка, то код бы выполнялся не только в случае значения Токио! Используйте эти знания и никогда не нагромождайте десятки условий там, где можно обойтись одним свитчем!

Форма Switch достаточно уникальна, поэтому потратьте некоторое время на ее рассмотрение, прежде чем двигаться дальше. Примечание: начинающие программисты пренебрегают этой конструкцией, что неправильно и затрудняет чтение кода, а так же негативно сказывается на производительности!

PHP оператор Switch: действие по умолчанию

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

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

$destination = "New York"; echo "Отправляемся в $destination<br />"; switch ($destination){ case "Las Vegas": echo "Берем с собой $5000! Вегас детка!"; break; case "Amsterdam": echo "Парочка газет, фольга…"; break; case "Egypt": echo "50 бутылок солнцезащитного крема."; break; case "Tokyo": echo "Берем деньги на сувениры."; break; case "Caribbean Islands": echo "Захватите трусы для плавания!"; break; default: echo "Бельишко чистое не забудьте!"; break; } Результат:

Отправляемся в New York

Бельишко чистое не забудьте!

Готово! Теперь вы умеете обращаться с PHP конструкцией Switch и знаете в каких случаях ее лучше использовать.

← Условный оператор | Содержание | Функции →