| |||||
|
Глава 2. Подробней о языке PHP Какие возможности управлять логикой (управляющие структуры)?Любой PHP-скрипт состоит из серии операторов. Это может быть присвоение, вызов функции, цикл, условный оператор или даже оператор, который ничего не делает (пустой оператор). Оператор обычно завершается точкой с запятой. Кроме того, операторы можно группировать с помощью фигурных скобок {}. Группа операторов сама также является оператором.
if, else, elseif Конструкция if является одной из ключевых во многих языках, в том числе и в PHP. Она позволяет выполнять фрагменты кода при выполнении условия. PHP предлагает структуру if, которая аналогична такой же структуре языка C: if (expr) statement.
if ($a > $b)
выведет «a больше b», если $a больше $b. else – часто нужно выполнить оператор, если соблюдено какое-либо условие, и другой оператор – если условие не соблюдено. Для этого предназначен оператор else. else расширяет оператор if и выполняет свои операторы, если проверяемое выражение в операторе if вычисляется в FALSE.
if ($a > $b) {
elseif, как следует из названия, – это комбинация if и else. Подобно else, она расширяет оператор if для выполнения других операторов в том случае, если оригинальное выражение if вычисляется в FALSE. Однако, в отличие от else, elseif будет выполнять альтернативное выражение только тогда, когда условное выражение в elseif будет вычислено в TRUE. Например, следующий код выведет a is bigger than b, a equal to b или a is smaller than b:
if ($a > $b) {
Может быть несколько elseif внутри одного оператора if. Первое выражение elseif (если имеется), которое вычисляется в TRUE, будет выполняться. В PHP вы можете также записать 'else if' (двумя словами), и поведение будет идентично 'elseif' (одним словом). whileЦиклы while – это простейшие циклы PHP. Они ведут себя, как их аналоги из C. Цикл будет выполняться, пока значение вычисляется в TRUE. Значение выражения проверяется каждый раз в начале цикла, поэтому, если это значение изменилось при выполнении вложенного оператора, выполнение не остановится до конца данной итерации
$i = 1;
Внимание! Eсли выражение while вычисляется в FALSE в самом начале цикла, цикл не будет выполнен ни разу. do..whileЦиклы do..while очень похожи на циклы while, но условное выражение проверяется в конце каждой итерации, а не в начале. Главное отличие от регулярных циклов while состоит в том, что первая итерация цикла do..while всегда выполняется (условие проверяется только в конце итерации).
$i = 0;
Вышеприведeнный цикл будет пройден точно один раз, поскольку после первого прохода проверка условного выражения даёт FALSE ($i не больше 0), и выполнение цикла завершается. forЦиклы for – это самые сложные циклы PHP. Они ведут себя так же, как их аналоги из C.
// простейший вариантbreak заканчивает выполнение текущей структуры (цикла) for, foreach, while, do..while или switch. continue используется в циклических структурах для пропуска оставшейся части текущей итерации цикла и продолжения выполнения с начала следующей итерации (прохода) цикла switchOператор switch напоминает выполнение серии операторов IF над одним выражением. Во многих случаях вам нужно будет сравнить одну переменную (или выражение) с различными значениями и выполнить разные участки кода в зависимости от того, каково значение. Например, отобразить выбранный пункт меню.
switch ($menu_key) {
Рекомендуем вам чаще использовать эту конструкцию – она значительно повышает защищенность ваших скриптов. Если $menu_key пустой или не совпадает, то выполнится блок default. declareКонструкция declare используется для установки директив выполнения для блока кода. declare (directive) statement Раздел directive позволяет устанавливать поведение блока declare. В настоящее время распознаётся только одна директива: ticks. (См. далее о директиве ticks.) Часть statement-блока declare будет выполнена – то, как она выполняется и какие побочные эффекты возникают в процессе выполнения, зависит от директивы, установленной в блоке directive. return – если вызывается из функции, оператор return() немедленно заканчивает выполнение текущей функции и возвращает свой аргумент как значение вызова функции. return() также заканчивает выполнение оператора eval() или файла скрипта. Оператор require() включает/include и вычисляет определённый файл. require() и include() идентичны почти во всём, за исключением того, как они обрабатывают неудачное выполнение: include() выдаёт Warning!, а require() выдаёт Fatal Error. Оператор require_once() включает/include и вычисляет специфицированный файл в процессе выполнения скрипта. Это поведение напоминает оператор require() с той только разницей, что, если код из файла уже был подключён, он не будет подключён ещё раз.
Один комментарий.
[Показать комментарии/форму]
| |||||