Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
interaktivnoe_programirovanie_internet-prilozheniy (1).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.94 Mб
Скачать

Условный оператор if

Синтаксис конструкции if:

if (условие)

инструкция

или

if (условие) {

блок инструкций

}

Управляющая конструкция if позволяет PHP выполнять инструкции, только в том случае, если условие является истинным. Условие может представлять собой любое выражение, даже одиночную переменную. Во время работы конструкции if выражение вычисляется, и результат приводится к типу данных boolean. Если результатом является true, инструкции выполняются, а если false, то игнорируются.

Принцип действия конструкции if представлен на рисунке 130:

Рисунок 130 – Принцип действия конструкции if

Пример:

Пусть $day – переменная, в которой хранятся название дней недели. Мы хотим проверить, является ли текущий день выходным.

$day='Вс';

If ($day=='Вс') echo 'Выходной';

Кроме того, мы можем использовать в качестве условия выражение любой сложности:

$day='Сб';

if ($day=='Вс'||$day=='Сб') echo 'Выходной';

Результат выполнения приведен на рисунке 131:

Рисунок 131– результат выполнения примера

else

Конструкция else не используется самостоятельно, а расширяет возможности конструкции if:

if (условие) {

блок инструкций

}

else {

блок инструкций

}

Инструкции в блоке else выполнятся только в том случае, если условие в инструкции if вернет значение false.

Принцип действия конструкции else представлен на рисунке 132:

Рисунок 132 – Принцип действия конструкции else

Пример.

$day='Пн';

if ($day=='Вс'||$day=='Сб') {

echo 'Выходной';

} else {

echo 'Пора на работу';

}

Результат выполнения приведен на рисунке 133 :

Рисунок 133– результат выполнения примера

elseif/else if

Конструкция elseif (else if) – это еще одно расширение конструкции if:

if (условие) {

блок инструкций

}

elseif (условие) {

блок инструкций

}

else {

блок инструкций

}

Это дополнительное условие, которое выполнится в том случае, если не выполнится условие if, и выражение в скобках вернет true. Если же оба условия вернут false, то выполнится блок else (если есть). В случае истинности первого условия, все дальнейшие будут проигнорированы. Можно использовать несколько elseif, в этом случае выполнится первое же истинное.

Принцип действия конструкции else представлен на рисунке 134:

Рисунок 134 – Принцип действия конструкции else if

Пример:

$day='Пт';

if ($day=='Вс'||$day=='Сб') {

echo 'Выходной';

} elseif ($day=='Пт') {

echo 'Немного осталось';

} else {

echo 'Пора на работу';

}

Результат выполнения приведен на рисунке 135:

Рисунок 135– результат выполнения примера

while

Конструкция while относится к циклическим конструкциям или циклам. Их принцип действия схож между собой и заключается в том, что блок инструкций повторно выполняется до тех пор, пока определенное условие является истинным. Если же условие истинным не является, то выполнения инструкций вообще не происходит.

Однократное выполнение целого блока инструкций называется итерацией. Принцип действия циклических конструкций представлен на рисунке 136.

Рисунок 136 – Принцип действия циклической конструкции

Синтаксис конструкции while:

while (условие)

инструкция

либо:

while (условие) {

блок инструкций

}

Так же, как и в конструкции if, условие в скобках может представлять собой любое выражение или переменную. Действия в цикле while будут повторяться до тех, пока условие будет возвращать значение true. Выполнение прекратится в том случае, если будет возвращено значение false. Прекращение повторения итераций называется выходом из цикла.

Пример:

$i=0;

while ($i<10) {

echo $i. ' ';

$i++;

}

Результат выполнения приведен на рисунке 137:

Рисунок 137 – Результат выполнения примера

do-while

Синтаксис конструкции do-while:

do { блок инструкций } while (условие);

do-while – это модифицированная конструкция while. Принцип действия тот же, разница заключается в том, что при использовании этой конструкции всегда выполнится хотя бы одна итерация, так как проверка истинности условия происходит уже после выполнения блока.

Пример:

$i=10;

do {

echo $i. ' ';

$i++;

} while ($i<10);

Результат выполнения приведен на рисунке 138:

Рисунок 138 – Результат выполнения примера

for

Конструкция for – еще одна разновидность циклов. Ее также называют «цикл со счетчиком», так как в синтаксисе цикла for уже заложено изменение переменной, которая участвует в условии выполнения цикла.

Синтаксис цикла for:

for (выражение1; выражение2; выражение3)

инструкция

или

for (выражение1; выражение2; выражение3){

блок инструкций

}

Здесь:

  • выражение1 – выражение, которое выполняется только один раз, перед первой итерацией;

  • выражение2 – непосредственно условие;

  • выражение3 – выполняется при каждой итерации.

На практике это чаще всего выглядит так:

for ($i = 1; $i <= 10; $i++) { блок инструкций

}

В данном случае $i – это переменная-счетчик, значение которой увеличивается на единицу после каждой итерации.

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

for (; ; ) { блок инструкций

}

Пример:

Выведем на экран числа месяца с 1 по 31, приняв, что 1 число – это понедельник. Для аккуратного отображения используем тег html <table>:

echo '<table><tr>';

for ($i = 1; $i <= 31; $i++) {

echo '<td>'.$i.'</td>';

if ($i%7==0) echo '</tr><tr>';

}

echo '</table>';

Результат выполнения приведен на рисунке 139:

Рисунок 139 – Результат выполнения примера

foreach

Это особый тип цикла, созданный специально для работы с массивами. Синтаксис foreach:

foreach (имя_массива as имя_элемента)

{

действия;

}

Конструкция foreach «пробегает» поочередно по всем элементам массива «имя_массива» используя «имя_элемента» как способ обращения к ним в рамках текущей итерации.

Пример.

Дополним пример из описания цикла for. Пусть в массиве $days хранятся названия дней недели, которые мы выводим в первой строке таблицы до того, как вывести числа:

$days= array("Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс");

echo '<table><tr>';

foreach ($days as $day) {

echo '<td>'.$day.'</td>';

}

echo '</tr><tr>';

for ($i = 1; $i <= 31; $i++) {

echo '<td>'.$i.'</td>';

if ($i%7==0) echo '</tr><tr>';

}

echo '</table>';

Результат выполнения приведен на рисунке 140:

Рисунок 140 – результат выполнения примера

break

Иногда существует необходимость прервать выполнение цикла до того, как условие перестанет выполняться. Для этого используется конструкция break.

Пример:

$i=0;

while(1) {

if($i==10) break;

echo $i. ' ';

$i++;

}

Результат выполнения приведен на рисунке 141:

Рисунок 141– результат выполнения примера

continue

Конструкция continue используется для того, чтобы прервать текущую итерацию цикла, но не весь цикл.

Пример:

$i=0;

while($i<10){

if($i==5) {

$i++;

continue;}

echo $i.' ';

$i++;

}

Результат выполнения приведен на рисунке 142:

Рисунок 142 – результат выполнения примера

switch

Конструкция множественного выбора switch по своему действию эквивалентна цепочке условий if-elseif-else, но является более компактной с точки зрения записи.

Синтаксис switch:

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

{

case значение1:

выражения1;

break;

case значение2:

выражения2;

break;

...

default:

выраженияN;

break;

}

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

Особенностью является то, что значения можно группировать:

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

{

case значение1:

case значение2:

case значение3:

case значение4:

выражения1-4;

break;

case значение5:

выражения5;

break;

...

default:

выраженияN;

break;

}

Пример.

При создании счетчика дней, оставшихся до какого-либо события, необходимо следить, чтобы слово «день» находилось в правильном склонении относительно числа.

$today – переменная, в которой хранится количество оставшихся дней.

$cut – последняя цифра этого числа, полученная с помощью оператора % - остаток от деления.

$cut=$today%10;

if($today<10||$today>20){

switch ($cut) {

case 1:

$daystr ='день';

break;

case 2:

case 3:

case 4:

$daystr ='дня';

break;

default:

$daystr ='дней';

}

}

echo 'Осталось '.$today.' '.$daystr;

Результат выполнения приведен на рисунке 143:

Рисунок 143 – результат выполнения примера

include

include - конструкция языка PHP, подключающая и выполняющая указанный файл в текущем скрипте. В случае ошибки выдает предупреждение, но не останавливает работу скрипта.

Синтаксис:

include 'имя_файла';

require

Данная конструкция по принципу действия похожа на include, только, в случае ошибки, останавливает работу скрипта.

Синтаксис:

require 'имя_файла';

include_once

Делает то же, что и include, но перед подключением файла, проверяет, не был ли он уже подключен. Если был, то не выполняет подключение.

Синтаксис:

include_once 'имя_файла'

require_once

Делает то же, что и require, но перед подключением файла проверяет, был ли он уже подключен. Если был, то подключение не выполняется.

Синтаксис:

require_once 'имя_файла';

return

Прерывает выполнение функции или подключаемого файла и возвращает значение, если оно задано. Если нет, возвращает NULL.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]