Загрузка

RUS | ANG | |

StepkinBlog.ru

Пока я творю, я живу!
Блог посвящен: HTML, CSS, PHP, Wordpress, Bootstrap

Главная » Основы PHP » Конструкция выбора – switch-case Основы PHP с нуля Урок №10

14.09.2017


16:07


4024


2


Конструкция выбора – switch-case Основы PHP с нуля Урок №10

Конструкция выбора – switch-case Основы PHP с нуля Урок №10

Всем привет!
Продолжаем изучать основы 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!



Случайные записи:

  1. Слои в CSS. Основы CSS для начинающих. Урок №16
  2. Уведомления для веб-страниц. Основы bootstrap 3 для начинающих. Урок №16
  3. Основы bootstrap для начинающих. Урок №1
  4. Сворачивание (аккордеон). Основы bootstrap 3 для начинающих. Урок №22
  5. Коротко о PHP. Основы PHP с нуля. Урок №1

Последние записи рубрики:

  1. Полезные функции php List, Isset, Unset, Empty, Date, Count и Exit. Основы PHP с нуля. Урок №18
  2. Подключение файлов php через Include или Require. Основы PHP с нуля. Урок №17
  3. Функции (function). Основы PHP с нуля. Урок №16
  4. Альтернативный синтаксис управляющих структур. Основы PHP с нуля. Урок №15
  5. Цикл Foreach. Основы PHP с нуля. Урок №14

2 ответа(ов) на статью: “Конструкция выбора – switch-case Основы PHP с нуля Урок №10”

  1. Анна says:

    Опечатка, в примере с гитарами, неправильно указана переменная:
    echo "$beer - хороший выбор гитары";
    должно быть:
    echo "$electroguitar - хороший выбор гитары";

    Ответить

    Степка
    Степка ответил(а) на комментарий:

    Спасибо, Анна, исправил!

    Ответить

Добавить комментарий

;-) :| :x :twisted: :smokes: :smile: :shock: :sad: :rose: :roll: :razz: :pop-corne: :oops: :o :mrgreen: :lol: :idea: :grin: :gazeta: :evil: :cry: :cool: :coffe: :arrow: :???: :?: :!:

Подписаться на обновления:

Подпишись на обновления моего блога через e-m@il:

@

Реклама на блоге:

Мои цели на
2017 год:

Довести количество статей до 150

Доделать этот блог

Закончить тему «Основы CSS»

Закончить тему «Основы PHP»

Начать тему «Основы JavaScript»

Добиться посещаемости 500 чел/сутки

Статистика:

Записей: 104
Страниц: 3
Рубрик: 9
Меток: 11
Комментариев: 245