Операторы управления позволяют выполнять блоки кодов после анализа условий и повторять блоки сценариев, что упрощает и повышает эффективность сценариев. В этой главе вы ознакомитесь с операторами принятия решений if и switch, а также с операторами организации циклов for и while.
3.1. Оператор if
На рис. 3.1 показана одна форма оператора if.
Операторы управления
 Оператор if выполняет блок операторов, если выражение, заключенное в скобки, "истинно"; в противном случае этот блок операторов не выполняется. Это может быть один оператор с последующей точкой с запятой. Обычно этот блок представляет собой сложный оператор, ограниченный фигурными скобками. Сразу же после этого оператора может следовать оператор else, содержащий свой собственный оператор, и он также может быть простым или сложным. Он выполняется только тогда, когда предыдущее выражение дает значение "ложь". Между операторами if и else может быть размещено сколько угодно операторов elseif. Каждый оператор elseif обрабатывается по очереди, и при получении ложного результата управление передается следующему такому оператору. Если оператор elseif дает значение true, то остальная часть кода большого оператора if не выполняется, т.е. язык PHP допускает только одно совпадение. В листинге 3.1 показана работа оператора if-elseif-else.
Листинг 3.1. Оператор if-elseif-else
<?php
$name = "Леон"; if($name == "")
print("y вас нет имени.");
elseif(($name == "леон") OR ($name == "Леон"))
print("IIp^eT, Леон!");
else
print("Вашe имя '$name'.");
?>
Конечно, операторы elseif и else не являются обязательными. Временами достаточно простейшего оператора if (листинг 3.2).
Листинг 3.2. Простейший оператор if
<?php
if(date("D") == "Mon")
{
print("Нeобходимо выкинуть мусор.");
}
Оператор if можно использовать для создания последовательности проверок, по­крывающих все возможные варианты. Для этого необходимо начать с проверки первого условия с помощью оператора if; а затем посредством операторов elseif последовательно проверить все остальные условия. Поместив else в конец, вы перекрываете все возможные варианты. Этот метод используется в программном коде, приведенном в листинге 3.3, для распечатки наименования дня недели на немецком языке. Сценарий сравнивает наименование дня недели, начиная с понедельника (Monday) и кончая субботой (Saturday). При отсутствии совпадений считается, что наступило воскресенье (Sunday). 
Листинг 3.3. Просмотр всех вариантов с помощью оператора if-elseif-else

<?php /*
** Получить название дня недели
*/
$englishDay = date("l");
/*
** Определить название сегодняшнего дня по-немецки
*/
if($englishDay == "Monday")
$deutschDay = "Montag"; elseif($englishDay == "Tuesday")
$deutschDay = "Dienstag"; elseif($englishDay == "Wednesday")
$deutschDay = "Mittwoch"; elseif($englishDay == "Thursday")
$deutschDay = "Donnerstag"; elseif($englishDay == "Friday")
$deutschDay = "Freitag"; elseif($englishDay == "Saturday")
$deutschDay = "Samstag";
else
// Значит, сегодня воскресенье $deutschDay = "Sonntag";
/*
** Распечатать название сегодняшнего дня по-английски и по-немецки
*/
print("<h2>Уpок немецкого: Дни недели^!^^^' .
"<p>n" .
"по-английски: <b>$englishDay</b>.<br>n" . "по-немецки: <b>$deutschDay</b>n" .
"</p>n");