Пока я творю, я живу!
Блог посвящен: HTML, CSS, PHP, Wordpress, Bootstrap
Всем привет!
Продолжаем изучать основы PHP с нуля!
В этом уроке я расскажу вам об php конструкции выбора switch-case.
Суть конструкции switch-case состоит в том, чтобы выполнить определенное действие в зависимости от значения, которое примет переменная. Да, можно было бы обойтись конструкцией if else, но когда дело доходит до выбора от 5 и больше вариантов, то код с использованием if else становится очень большим, а это крайне неудобно, да и размер файла становится больше.
Как работает конструкция выбора switch-case?
Конструкция выбора switch-case – это своего рода переключатель, который проверяет значение переменной: как только значение совпадает, включаются действия, которые будут прописаны.
Синтаксис конструкции switch-case
<?php switch (выражение) { case "значение №1": Действие break; case "значение №2": Действие break; case "значение №3": Действие break; default: Действие, если ни один случай не подошел break; } ?>
Если у вас в значениях используются цифры, тогда можно обойтись и без двойных кавычек.
Пример:
<?php $stepkinblog = "PHP"; switch ($stepkinblog) { case "C++": //значение №1 // действие для значения №1 echo "Вы заказали учебник по C++"; break; case "JavaScript": //значение №2 // действие для значения №2 echo "Вы заказали учебник по JavaScript"; break; case "PHP": //значение №3 // действие для значения №3 echo "Вы заказали учебник по PHP"; break; case "JAVA": //значение №4 // действие для значения №4 echo "Вы заказали учебник по JAVA"; break; default: echo "Сделайте выбор"; //Действие, если ни один случай не подошел break; } ?>
Результат:
Вы заказали учебник по PHP
Разъяснение:
Так как в переменной $stepkinblog было указанно «PHP», то оператор Switch сделал переключение на case «PHP» и выполнил все действия «PHP».
Если поменяете значение «JAVA» в переменной «$stepkinblog», тогда результат будет вот таким:
Вы заказали учебник по JAVA
Если оставите переменную «$stepkinblog» пустой или поставите любое другое значение, которого нет в «case»:
<?php $stepkinblog = ""; switch ($stepkinblog) { case "C++": //значение №1 // действие для значения №1 echo "Вы заказали учебник по C++"; break; case "JavaScript": //значение №2 // действие для значения №2 echo "Вы заказали учебник по JavaScript"; break; case "PHP": //значение №3 // действие для значения №3 echo "Вы заказали учебник по PHP"; break; case "JAVA": //значение №4 // действие для значения №4 echo "Вы заказали учебник по JAVA"; break; default: echo "Сделайте выбор"; //Действие, если ни один случай не подошел break; } ?>
тогда на экране вы увидите:
Сделайте выбор
Так как ни один случай не подошел, вывелись действия, которые были записаны по умолчанию (default).
А вот так выглядел бы код, если бы я использовал конструкцию elseif :
<? // Используем elseif $stepkinblog = "PHP"; if ($stepkinblog == "C++") { echo "Вы заказали учебник по C++"; } elseif ($stepkinblog == "JavaScript") { echo "Вы заказали учебник по JavaScript"; } elseif ($stepkinblog == "PHP") { echo "Вы заказали учебник по PHP"; } elseif ($stepkinblog == "JAVA") { echo "Вы заказали учебник по JAVA"; } else { echo "Сделайте выбор"; //Действие, если ни один случай не подошел } ?>
И напоследок, если вам нужно производить одинаковые действия, например, записать в файл какую-то информацию, но с нужной переменной, тогда воспользуйтесь вот таким способом:
<?php $electroguitar = "Fender"; switch($electroguitar) { case "Gibson"; case "Fender"; case "Kramer"; echo "$electroguitar - хороший выбор гитары"; break; default; echo "Пожалуйста, сделайте выбор"; break; } ?>
Заметьте, что после значения в case стоит не двоеточие (:), а точка с запятой (;). Это дает возможность написать сразу весь список.
Результат:
Fender - хороший выбор гитары
Замените в переменной $electroguitar значение на «Kramer» и в результате вы увидите на экране:
Kramer - хороший выбор гитары
Очень удобный способ.
Синтаксис:
<?php switch (выражение) { case "значение №1"; case "значение №2"; case "значение №3"; Действие break; default: Действие, если ни один случай не подошел break; } ?>
На сегодня все! Жду вас на следующих уроках!
Подписывайтесь на обновления блога StepkinBLOG.RU!
Опечатка, в примере с гитарами, неправильно указана переменная:
echo "$beer - хороший выбор гитары";
должно быть:
echo "$electroguitar - хороший выбор гитары";
Ответить
28 сентября, 2017 at 13:41
Спасибо, Анна, исправил!
Ответить