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

Блок else инструкции if

Написав инструкцию if, может понадобиться указать альтернативный блок инструкций, который следует выполнить в том случае, если условие не выполняется. Для этого после блока if необходимо поместить блок else.

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

{

//этот фрагмент выполняется, если выражение истинно

}

else

{

//этот фрагмент выполняется в противном случае

}

Использование блока else с инструкцией if позволяет программам принимать довольно сложные решения, но пока выбор ограничен только вариантами "да - нет" (в математике – бинарным выбором). Однако в языке РНР можно принимать сложные решения в каскадной последовательности.

Блок elseif инструкции if

С помощью конструкции if-elseif-else можно проверить несколько условий перед тем, как выполнить фрагмент программы.

if(выражение_1)

{

//этот фрагмент выполняется, если выражение истинно

}

elseiff (выражение_2)

{

//этот фрагмент выполняется, если выражение 1 ложно,

//а выражение_2 истинно

}

else

{

//этот фрагмент выполняется во всех остальных случаях

}

Если первое выражение не истинно, то первый блок игнорируется. В блоке elseif вычисляется второе выражение, и если оно истинно, то выполняется соответствующий фрагмент программы. В противном случае выполняется блок инструкций else. Блоков elseif может быть сколько угодно, а блок else может отсутствовать, если в нем нет необходимости.

<?php

$mood = "sad";

if ($mood == "happy")

{

print "I'm so happy!";

}

elseif( $mood == "sad" )

{

print "Control your self!";

}

else

{

print "Just $mood …";

}

?>

В переменной $mood записана строка "sad". Она не совпадает со строкой "happy", поэтому первый блок игнорируется. В блоке elseif переменная $mood сравнивается со строкой "sad" и, поскольку это выражение истинно, выполняется блок elseif.

Инструкция switch

Инструкция switch — это еще один способ изменить поток выполнения программы в зависимости от значения некоторого выражения. Между инструкциями switch и if есть существенная разница. С помощью инструкции if и блока elseif вы можете для принятия решения вычислить несколько выражений, а инструкция switch вычисляет только одно выражение, но в зависимости от его значения выполняет один из нескольких блоков программы. Выражение в инструкции if может быть только истинным или ложным, а выражение инструкции switch может принимать много значений, но они должны быть простого типа, т.е. целое, или строка, или булево значение.

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

{

case значение_1:

//выполняется, если выражение равно значение_1

break;

case значение_2:

// выполняется, если выражение равно значение_2

break;

default:

//выполняется, если выражение не приняло

//ни одного из перечисленных значений

}

Выражение в инструкции switch чаще всего бывает простой переменной. В каждом из блоков case значение переменной сравнивается с указанным значением, и если они совпадают, то выполняется соответствующий блок. Инструкция break прерывает выполнение всей конструкции switch. Если слово break опустить, то будет проверяться следующий блок case. Если ни в одном из блоков case значение переменной не совпало с указанным значением, то выполняется блок default.

<?php

$mood = "sad";

switch ( $mood )

{

case "happy" :

print "I'm happy!";

break;

case "sad":

print "Control your self!";

break;

default:

print "Just $mood ";

}

?>

Как и раньше, в переменной $mood записана строка "sad". Эта переменная используется в качестве выражения в инструкции switch. В первом блоке case проверяется совпадение этой переменной со строкой "happy". Совпадения нет, поэтому выполнение программы переходит ко второму блоку case. Здесь значение переменной $mood совпадает со строкой "sad" и, следовательно, выполняются соответствующие инструкции. Заканчивается все инструкцией break.

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