Конструкция Switch-Сase – Аналог If-Else
Конструкция Switch-Сase
Конструкция Switch-Сase является аналогом If-Else.
Для сравнения и для начала реализуем задачу при помощи конструкции If-Else.
Задача проста. В зависимости от значения переменной $a - выводим слова "Сложение", "Вычитание", "Умножение" или "Деление".
Теперь реализуем эту же задачу, используя конструкцию Switch-Сase
1. После оператора switch указывается переменная/условное выражение - с которым проводится работа.
2. Каждый оператор case открывает блок, в котором указывается значение.
3. Если оператором switch обнаружено нужное значение, то выполняется соответствующая команда/блок кода.
4. Оператор break нужен для того, чтобы завершить работу оператора switch,
то есть прервать дальнейшее выполнение кода.
5. Оператор default - позволяет выполнить действие "по умолчанию" -
когда значение условного выражения не совпало ни с одним из предложенных оператором case.
Конструкция Switch-Сase удобна, когда нужно перебрать несколько значений какой-либо переменной.
Но если нужно делать какие-либо сравнения переменных, составлять несколько условий, то здесь нужно пользоваться является конструкцией If-Else.
PHP-код
// Сравнение If-Else и Switch-Сase
$a = 2;
//Конструкция If-Else
if ($a == 1) {
echo "Сложение";
} else if ($a == 2) {
echo "Вычитание";
} else if ($a == 3) {
echo "Умножение";
} else if ($a == 4) {
echo "Деление";
}
echo "<p>";
//Конструкция Switch-Сase
switch($a) {
case 1:
echo "Сложение";
break;
case 2:
echo "Вычитание";
break;
case 3:
echo "Умножение";
break;
case 4:
echo "Деление";
break;
}
echo "<p>";
// Switch-Сase - Удаляем break
switch($a) {
case 1:
echo "Сложение";
break;
case 2:
echo "Вычитание";
//break;
case 3:
echo "Умножение";
break;
case 4:
echo "Деление";
break;
default:
echo "Ошибка";
break;
}
Результат
Вычитание
Вычитание
ВычитаниеУмножение