Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

6.1.2 Управляющие конструкции Условный оператор

Синтаксис условного оператора:

if (выражение1)   блок_команд1; [elseif (выражение2)   блок_команд2;] [else   блок_командN;] 

Выражения в условном операторе допускаются произвольные, т.е. результатом их вычислений могут являеться значения любого типа. Если данное значение имеет не логический тип, то оно преобразуется к логическому типу (выше см. правила преобразования при описании логического типа). После преобразования, если полученное значение равно TRUE, то выполняется «блок_команд1», в противном случае, проверяется условие в первом elseif, если полученное значение равно TRUE, то выполняется «блок_команд2» и т.д. Если значения всех выражений равны FALSE, то выполняется блок команд после else, т.е. «блок_командN».

Если блок команд состоит более чем из одной команды, то он заключается в фигурные скобки { }. Конструкции elseif и else является необязательными.

Пример:

<?php $var1 = 100; if( $var1 == 100 )   echo "Одеяло убежало"; // Это мы увидим на экране   if( $var1 == 100 ) {   $var1++;   echo "Улетела простыня"; // Это мы увидим на экране } if( $var1 ) {   echo "И подушка, как лягушка,"; // Это мы увидим на экране } if( !$var1 ) {   $var1 += 2; } else {   echo "ускакала от меня"; //Это мы увидим на экране } if( !$var1 )   $var1++; elseif( $var1 )   echo "Это мы увидим на экране"; else   $var1 += 2; ?> 

Оператор «переключатель»

Синтаксис оператора:

switch (выражение) {   case значение1:     блок_команд1;     [break;]   case значение2:     блок_команд2;     [break;]     ...     default:     блок_команд_по_умолчанию; }

Выражение, заданное в операторе switch, вычисляется и сравнивается на равенство по очереди со значениями после ключевых слов case: «значение1», «значение2» и т.д. Если значение совпало, то выполняется код до первого оператора break или до окончания оператора switch. Если ни одно из значений не совпало, то выполняется «блок_команд_по_умолчанию». Таким образом, поведение оператора switch полностью аналогично поведению этого оператора в языке C.

Пример:

<?php $var1 = 100; switch( $var1 ) {   case 99:     $var1++;     break;   case 100:     echo "1. Это мы увидим на экране";     break;   default:     $var1 += 2; } switch( $var1 ) {   case 99:     $var1++;     break;   case 100:     echo "2. Это мы увидим на экране";   default:     $var1 += 2;     echo "3. Это тоже увидим на экране: \$var1 = {$var1}"; } ?> 

Циклы

Поддерживаются следующие типы циклов: цикл while, цикл do-while, цикл for, цикл foreach.

Синтаксис циклов:

while (выражение)   блок_команд; do {   блок_команд; } while (выражение) for ([выражение1]; [выражение2]; [выражение3])   блок_команд; foreach ($массив as $значение)   блок_команд; foreach ($массив as $ключ => $значение)   блок_команд;

В каждом из циклов блок команд, если он состоит более чем из одного оператора, заключается в фигурные скобки.

Выражение в циклах while и do-while аналогично выражению в операторе if (т.е. может иметь любой тип, после вычисления его значение преобразуется к логическому типу). Циклы while и do-while работают совершенно аналогично подобным циклам в других языках программирования.

В цикле while первоначально вычисляется выражение; если его значение равно TRUE, то выполняется блок команд; далее снова вычисляется выражение и, если его значение равно TRUE, блок команд выполняется повторно и т.п.

В цикле do-while первоначально выполняется блок команд, далее вычисляется выражение, если оно равно TRUE, то блок выполняется повторно и т.п.

Поведение цикла for полностью аналогично циклу for для языка С. Каждое из выражений «выражение1», «выражение2», «выражение3» является необязательным. Сам цикл for для пояснения его сути можно записать другими конструкциями языка PHP следующим образом:

выражение1; while (выражение2) {   блок_команд;   выражение3; }