Форум веб-мастеров  /  Статьи веб-мастера  /  WHOIS-сервис  /  Услуги веб-мастера  /  RSS 
Разделы сайта




Полезные ссылки

wm-help.net -> Электронная библиотека -> PHP -> Справочник по PHP функциям -> for

for

for
Учебник РНР
Назад Глава 11. Структуры Управления Вперёд

for

Циклы for это самые сложные циклы PHP. Они ведут себя так же, как их аналоги из C.
Синтаксис цикла for таков:

for (expr1; expr2; expr3) statement

Первое выражение (expr1) вычисляется (выполняется) один раз и безусловно в начале выполнения цикла.

При начале каждой итерации вычисляется expr2. Если оно вычисляется в TRUE, цикл продолжается и выполняется вложенный (-ые) оператор (-ы). Если оно вычисляется в FALSE, выполнение цикла прекращается.

В конце каждой итерации вычисляется (выполняется) expr3.

Каждое из выражений может быть пустым. Пустое expr2 означает, что цикл должен выполняться бесконечно (PHP неявно предполагает, что это условие TRUE, как в C). Это может быть не так бессмысленно, как может показаться, поскольку часто бывает необходимо закончить цикл оператором break вместо использования проверки выражения-условия цикла for.

Рассмотрим следующие примеры. Все они выводят числа от 1 до 10:

/* пример 1 */

for ($i = 1; $i <= 10; $i++) {
    print $i;
}

/* пример 2 */

for ($i = 1;;$i++) {
    if ($i > 10) {
        break;
    }
    print $i;
}

/* пример 3 */

$i = 1;
for (;;) {
    if ($i > 10) {
        break;
    }
    print $i;
    $i++;
}

/* пример 4 */

for ($i = 1; $i <= 10; print $i, $i++);

Конечно, первый пример кажется самым привлекательным (или, возможно, четвёртый), но вы можете обнаружить, что возможность использовать пустые выражения в циклах for оказывается удобной во многих ситуациях.

PHP также поддерживает "синтаксис colon/с двоеточием" для циклов for.

for (expr1; expr2; expr3): statement; ...; endfor;

В других языках имеется оператор foreach для прохода по элементам массивов или хэшей. В PHP 3 такой конструкции нет; а в PHP 4 - есть (см. foreach). В PHP 3 вы может комбинировать while с функциями list() и each() для получения того же эффекта. См. примеры в документации по этим функциям.


НазадОглавление Вперёд
do..while Вверхforeach

[ Вверх ]

Rambler's Top100

Другие наши проекты:
бодибилдинг | Строим Домик | RU-домены за 170 рублей |
Ноутбуки, мониторы, комлектующие и другие полезные вещи
"for"
Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2008.
При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны!
Время генерации страницы: 0.058