
- •Лабораторная работа №7 Основные конструкции языка php
- •1.Использование комментариев в рнр.
- •2.Определение констант
- •3.Задание переменных по значению
- •4.Задание переменной по ссылке
- •1. Условный оператор
- •2. Циклы
- •2.1. Цикл с предусловием While
- •2.2. Цикл с постусловием do while
- •2.3. Цикл со счетчиком For
- •2.4. Альтернативный синтаксис
- •2.5. Вложенные циклы
- •2.6. Операторы break и continue
- •2.7. Цикл перебора массивов foreach
- •3. Инструкция switch-case (конструкция выбора)
- •4. Варианты заданий
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массива — значение переменной. Об этом важном массиве мы еще не раз поговорим в этой книге.