switch — Альтернатива if-elseif-elseКогда нужно проверить одно значение на несколько случаев, switch удобнее.
$day = "среда";
switch ($day) {
case "понедельник":
echo "Начало недели!";
break;
case "среда":
echo "Середина недели!";
break;
case "пятница":
echo "Скоро выходные!";
break;
default:
echo "Обычный день.";
}
🔹 default выполняется, если ни один case не сработал.
🔹 break предотвращает выполнение следующих case.
Пример без break
$day = "среда";
switch ($day) {
case "понедельник":
case "вторник":
case "среда":
case "четверг":
case "пятница":
echo "Продуктивного рабочего дня!";
break;
case "суббота":
case "воскресенье":
echo "Хорошего выходного!";
break;
default:
echo "Нет такого дня";
}
switch выполняет нестрогое сравнение (==)При сравнении значений в case PHP автоматически приводит типы данных, как при использовании ==.
$value = "10";
switch ($value) {
case 10:
echo "Число 10";
break;
case "10":
echo "Строка 10";
break;
}
Вывод: "Число 10"
➡️ PHP привёл строку "10" к числу 10 и выбрал первый подходящий case.
$value = false;
switch ($value) {
case 0:
echo "Это 0";
break;
case false:
echo "Это false";
break;
}
Вывод: "Это 0"