Операторы управления позволяют выполнять блоки кодов после анализа условий и повторять блоки сценариев, что упрощает и повышает эффективность сценариев. В этой главе вы ознакомитесь с операторами принятия решений 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");
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Операторы управления
28-12-2009
<< Предыдущая статья | Следующая статья >> |
PHP. Переменные, операторы и выражения. Часть Одиннадцатая. | PHP. Операторы управления. Часть Вторая. |