Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

Примеры работы с циклами

Рассмотрим  пример  использования  циклов  while, do-while  и  for.

Пример:

<?php $i = 1; while ($i <= 10) {   echo "Это {$i}-я итерация цикла while";   $i++; } do {   $n = 10 - $i + 2;   echo "Это {$n}-я итерация цикла do-while";   $i--; } while ($i > 1); for( $i = 1; $i <= 10; $i++ ) {   echo "Это {$i}-я итерация цикла for"; } ?> 

Рассмотрим цикл foreach. Цикл foreach предназначен для выполнения циклов по всем элементам массива. 

Пример:

<?php // определяем массив из 3-х элементов, ключи: 0, 1, 2 $array_1 = array( 0 => "Иванов", 1 => "Петров", 2 => "Сидоров" ); foreach($array_1 as $v) {   echo "Значение элемента массива: {$v}"; } ?> 

В данном примере для каждого элемента массива выполняется оператор echo. Само значение текущего элемента массива находится в переменной $v. Эту переменную мы определили в заголовке цикла после ключевого слова as. Помимо значения элемента массива в цикле нам может понадобиться ключ текущего элемента массива.

Пример демонстрирует, как можно получить доступ к ключу:

<?php // определяем массив из 3-х элементов, ключи: 0, 1, 2 $array_1 = array( 0 => "Иванов", 1 => "Петров", 2 => "Сидоров" ); foreach($array_1 as $k => $v) {   echo "Значение элемента массива {$v}, значение ключа {$k}"; } ?> 

В данном примере ключ текущего элемента массива находится в переменной $k. Эту переменную мы определили в заголовке цикла после ключевого слова as, значение элемента теперь будет содержаться в переменной $v, заданной после =>.

Операторы передачи управления - break

Если в теле цикла или в операторе switch встречается оператор break, то выполнение оператора завершается и выполняется переход к первой после цикла или switch команде.

Особенность break в PHP: после break может быть указано целое число, которое говорит, на сколько управляющих конструкций вверх должно быть передано управление.

Пример:

<?php // определяем массив из 3-х элементов, ключи: 0, 1, 2 $array_1 = array( 0 => "Иванов", 1 => "Петров", 2 => "Сидоров" ); foreach($array_1 as $k => $v) {   echo "Значение элемента массива {$v}, значение ключа {$k}";   if( $k == 1 )   {     // прерываем цикл на Петрове     break;   } } // вывели только два элемента массива for( $i = 1; $i <= 10; $i++) {   echo "Итерация: {$i}";   foreach($array_1 as $k => $v)   {     if( $i == 2 )     {       // прерываем цикл foreach и цикл for тоже!!!       break 2;     }     echo "Значение элемента массива {$v}, значение ключа {$k}";   } } // внутри цикла foreach вывели массив только один раз! ?>

Операторы передачи управления - continue

Особенность continue в PHP: после continue может быть указано целое число, которое говорит, на сколько вложенных циклов вверх следует подняться.

Пример:

<?php // определяем массив из 3-х элементов, ключи: 0, 1, 2 $array_1 = array( 0 => "Иванов", 1 => "Петров", 2 => "Сидоров" ); foreach($array_1 as $k => $v) {   if( $k == 1 )   {     // информацию о Петрове не выводим     continue;   }   echo "Значение элемента массива {$v}, значение ключа {$k}"; } // вывели только два элемента массива for( $i = 1; $i <= 10; $i++) {   echo "Итерация: {$i}";   foreach($array_1 as $k => $v)   {     if( $i == 2 )     {       // на второй итерации цикла for ничего не выводим       continue 2;     }     echo "Значение элемента массива {$v}, значение ключа {$k}";   } } ?>

Если в теле цикла встречается оператор continue, то выполнение блока команд (тела цикла) прерывается и выполняется переход к следующей итерации цикла.