Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПвИ / Конспект лекций.doc
Скачиваний:
224
Добавлен:
01.06.2015
Размер:
1.05 Mб
Скачать

Оператор ?

Оператор “?” возвращает значение одного из двух выражений, разделенных знаком двоеточия. Какое из двух выражений сформирует возвращаемое значение – зависит от истинности тестового выражения.

(тестовое_выражение)? выражение_1: выражение_2;

Если тестовое выражение принимает значение true, то возвращается значение первого выражения; в противном случае возвращается значение второго выражения. Рассмотрим пример использования оператора “?”, возвращаемое значение которого зависит от значения переменной $mood.

<?php

$mood = "sad";

$text = ( $mood=="happy" )? "I’m so happy!" : "Just $mood";

print "$text";

?>

В переменной $mood записана строка "sad". Значение этой переменной сравнивается со строкой "happy". Поскольку совпадения не происходит, возвращается второе из значений.

Оператор “?” может пригодиться, если есть всего два выбора и дает возможность сделать текст программы более компактным.

Циклы

До сих пор мы говорили о том, как программа может принимать решение о выполнении того или иного фрагмента. Однако программа может также принять решение о том, сколько раз выполнить определенный фрагмент. Для многократного повторения фрагмента программы служат так называемые циклы.

Цикл while

Цикл while по своей структуре напоминает условную инструкцию if и представляет собой цикл с предусловием.

while (выражение)

{

//тело цикла

}

До тех пор, пока выражение в скобках истинно, тело цикла выполняется. Как правило, при этом некоторым образом изменяется какая-то переменная или переменные, от которых зависит значение выражения в скобках. Если такой зависимости нет, то цикл будет выполняться бесконечно. Рассмотрим пример цикла, который выводит таблицу умножения на 2.

<?php

$counter = 1;

while ( $counter <= 12 )

{

print "$counter умножить на 2 будет ". ($counter*2) . "<br>";

$counter++;

}

?>

В начале инициализируется переменная $counter. В условном выражении цикла проверяется ее значение. До тех пор, пока значение переменной меньше или равно 12, цикл выполняется. В теле цикла переменная $counter умножается на 2 и выводится в окно броузера. После этого ее значение увеличивается на 1. Данный момент особенно важен. Если забыть это сделать, то условное выражение цикла никогда не станет ложным и цикл будет выполняться бесконечно.

Цикл do... While

Цикл do … while представляет собой цикл с постусловием, то есть цикл do … while сначала выполняется, а потом проверяется истинность своего условия.

do

{

//тело цикла

}

while (выражение);

Эта конструкция цикла может быть полезна в том случае, если нужно, чтобы его тело выполнилось хотя бы один раз, независимо от значения тестового выражения. В следующем листинге приведен пример использования цикла do... while. В данном примере цикл будет выполнен один раз.

<?php

$num = 1 ;

do

{

print "Номер прохода: $num<br>\n";

$num++;

}

while ( $num > 200 && $num < 400 ) ;

?>

В условии этого цикла проверяется значение переменной $пшп, а именно – находится ли оно в интервале от 200 до 400. Поскольку переменная инициализирована значением 1, условие ложно, но, несмотря на это, цикл выполнится один раз и выведет в броузер одну строку.

Соседние файлы в папке ПвИ