Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТ Лабораторная работа №7(php).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
75.26 Кб
Скачать

2.4. Альтернативный синтаксис

Циклы while и for имеют альтернативный синтаксис. Для цикла while он таков:

while (логическое_выражение):

тело цикла

endwhile;

А для цикла for — такой:

for (команды_инициализации; условие; команды_после_итерации) :

тело цикла

endfor;

Обратите внимание на двоеточие — его наличие обязательно! Альтернативный синтаксис также предусмотрен для оператора if-else:

if (логическое_выражение) :

команды;

elseif(логическое_выражение2):

команды;

else:

команды;

endif;

Использовать альтернативный синтаксис имеет смысл, если вы предпочитаете включать в РНР-сценарии HTML-код, а не выводить его с помощью echo. В этом случае альтернативный синтаксис облегчает использование операторов if-else, while и for:

<? if ($REMOTE_ADDR):?>

<hl>Welcome home!</hl>

<? else: ?>

<hl>Hello</hl>

<? endif; ?>

2.5. Вложенные циклы

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

for ($l = 0; $l<10; $l++ ) {

echo "$l\n";

for ($J=0; $J<5; $J++) echo "$J ";

echo "\n";

}

Вложенный цикл выводит строку 01234. Данная строка будет выведена 10 раз — это число итераций внешнего цикла for.

2.6. Операторы break и continue

При использовании циклом можно использовать операторы break и continue. Первый прерывает работу всего цикла, а второй — только текущей итерации. Рассмотрим следующие примеры:

<?

$i = 0;

while ($i++ < 10)

{

if ($i==3) break;

echo "Итерация $i\n";

}

?>

В этом примере после второй итерации работа цикла будет прервана и программа выведет строки:

Итерация 1

Итерация 2

Если же вместо оператора break использовать оператор continue, будет прервана работа только третьей итерации и мы получим вывод:

Итерация 1

Итерация 2

Итерация 4

Итерация 5

Итерация 6

Итерация 7

Итерация 8

Итерация 9

Итерация 10

Предположим, что у нас есть вложенные циклы, например,

for (...)

{

for (...)

{

for (...)

}

}

Нам нужно прервать работу определенного цикла, например, первого. Тогда как оператор break находится в теле третьего. В этом случае можно передать функции break параметр — номер цикла, например, break(1). Нумерация циклов начинается с единицы.

2.7. Цикл перебора массивов foreach

В четвертой версии PHP появился еше один вид цикла — foreach. Данный цикл предназначен специально для перебора массивов.

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

foreach(массив as $ключ=>$зкачение)

операторы;

Операторы, содержащиеся в теле цикла, будут выполнены для каждого элемента массива. Переменная $ключ будет содержать имя ключа элемента, а переменная $ значение — значение элемента.

Следующий пример отобразит значение массива $GLOBALS, содержащего глобальные переменные (будут выведены как имена переменных, так и их значения):

<?

foreach($GLOBALS as $key=>$value)

echo "$key = Svalue\n";

?>

Примечание.

Массив — это упорядоченный набор данных. Каждый элемент массива имеет индекс или ключ. Ключ служит для однозначной идентификации элемента массива. В одном массиве не может быть двух элементов с одинаковыми ключами

В PHP есть один очень полезный стандартный массив $GLOBALS. Ключом данного массива является имя переменной, а значением элемента sмассива — значение переменной. Об этом важном массиве мы еще не раз поговорим в этой книге.