Как правило, программы, независимо от языка программирования, состоят из условностей и условий. Выделяют операторы управления программой:
- Оператор if (если). Добавляет два решения программы — либо туда, либо сюда.
if($night) // в скобках - условие echo 'иду спать'; // условие true, значит выполнится эта строка echo 'иду на работу'; //не выполнится, т.к. условие false
В скобках условия может стоять любое выражение, которое php сам решит и приведет к булеву типу — true-false.
Если у if нужно использовать больше, чем одно выражение, то тело if нужно заключить в фигурные скобки — {}. Тогда все выражения внутри будут относиться к if. Рекомендую такие скобки ставить всегда, повышается читабельность кода. Есть несколько вариантов оформления кода, когда открывающая фигурная скобка { ставится в той же строке, что и if, когда она стоит в начале следующей строки. Оба способа корректны. Не забывайте ставить в конце блока if ставить закрывающую }, иначе вылетит ошибка ‘unexpected $_end’.
- Оператор if-else (если … то …).
if($night){ // в скобках - условие echo 'иду спать'; // условие true, значит выполнится эта строка }else{ echo 'иду на работу'; //не выполнится, т.к. условие false }
Есть понятие тернарного оператора. Он заменяет собой всю конструкцию выше:
echo $a='night'?'иду спать':'иду на работу';
- Оператор elseif. Расширяет функционал оператора if-else, когда нужно проверить более двух условий и до бесконечности.
$day = 2; if ($day == 1) print("Понедельник"); elseif ($day == 2) print("Вторник"); elseif ($day == 3) print("Среда"); elseif ($day == 4) print("Четверг"); elseif ($day == 5) print("Пятница"); elseif ($day == 6) print("Суббота"); elseif ($day == 7) print("Воскресенье"); else print("Нет такого дня");
- Оператор switch. Применяется, когда нужно проверить несколько или много условий. Внутрь скобок указываем переменную, по которой будем переключаться. А конструкция case — действия, которые надо сделать в случае true. Часто нужно получить только одно вхождение (только одно условие true). Для этого применяют необязательный оператор break, который выбрасывает из switch, если условие совпало (true). В данной конструкции есть ‘отстойник’ (если не совпало ни одно условие, то он выполняется) — необязательный оператор default.
$day = 4; switch ($day) { // проверяем день case 1: print("Понедельник"); break; //если совпало, делаем здесь case 2: print("Вторник"); break;//если совпало, делаем здесь case 3: print("Среда"); break; //если совпало, делаем здесь default: print("Нет такого дня"); }