[Image] Четверг, 19.12.2024, 02:49 [Image]
SEO, технологии, игры, IT новости
[Image] Главная Регистрация Вход [Image]
[Image] Приветствую Вас, Гость · RSS [Image]
Меню сайта

Форма входа
 Блог
Главная » 2010 » Декабрь » 18 » Управляющие структуры для повторения
15:12
Управляющие структуры для повторения
Давайте рассмотрим фундаментальную программную концепцию — повторяющиеся итерации блока кода. Возможность повторять некоторое задание опять и опять — это главное свойство, которое делает компьютеры настолько мощными. Вы можете использовать различные методы для выполнения повторяющихся итераций (называемых циклами) в сценариях РНР. Начнем с простейшего варианта, называемого циклом while.
Несмотря на то что его функциональное назначение отличается, РНР-оператор while похож на оператор if, включая поддержку множества условий с использованием логических операций. Общий синтаксис оператора while выглядит так:
while (условие) {
/* Код для повторного выполнения, пока указанное условие истинно */
Или в однострочной форме: while (условие) /* Код для повторного выполнения */
С помощью этого оператора можно решить задачи, выполнить которые было невозможно ранее — написание сценария, выполняющего подсчет. Если вы хотите написать сценарий, отображающий каждое число, которое делится на 3, в диапазоне от 1 до 300 и напечатать из них все нечетные, то код, подобный представленному в листинге 1.17, поможет это сделать.
Листинг 1.17. Использование оператора while
<?php
$count = 1;
while($count <= 300) {
40
Использование РНР для разработки Web-приложений
Часть I
if (($count%3) — 0) {
echo "$count делится на 3!<BR>"
}
$count++;
Если вы взглянете на предыдущий сценарий, то не найдете в нем ничего такого, чего не сможете понять. Обратите внимание, что в операторе while увеличивается значение переменной $count. Без этой строки кода условие, по которому оператор while прекратится (это произойдет, когда $count достигнет значения 300), никогда не будет удовлетворено. Ситуация подобного рода называется бесконечным циклом и это частая ошибка, которую допускают начинающие (а иногда даже и опытные) программисты. Хотя оператор while — наиболее частое место, где могут случаться бесконечные циклы, почти все PHP-операторы повторения кода могут порождать ситуации бесконечных циклов. Всегда нужно заботиться о том, чтобы внутри любого цикла в РНР было предусмотрено условие выхода из него, дабы предотвратить возникновение бесконечных циклов.
Как и в большинстве управляющих структур РНР, существует несколько вариаций цикла while, каждый из которых имеет слегка отличающийся синтаксис и поведение.
Одним из них является цикл do/while. Общий синтаксис цикла do/while представлен ниже.
do {
/* Исполняемый код */
} while(условие);
В отличие от while, оператор do/while всегда выполняет блок кода, минимум, один раз. Множественное выполнение кода определяется условием, содержащимся в его части while. Если это условие возвращает значение true (истина), код выполняется опять, и так до тех пор, пока условие не вернет значение false (ложь). Хоть оператор do/while используется нечасто, в некоторых случаях он может оказаться весьма полезным.
Несмотря на то что циклы do/while или while концептуально могут справиться с любой ситуацией, в которой вообще необходимы циклы, в РНР существует множество специализированных типов циклов. Один из наиболее часто используемых типов циклов РНР — цикл for — применяется в случаях, когда нужна переменная-счетчик.
Синтаксис цикла for выглядит так:
for (инициализация;условие;пост-обработка) {
/* Код, подлежащий выполнению, пока условие истинно */
}
Как видите, параметры оператора for несколько более сложные, чем у его предшественника — оператора while. Особенность цикла for заключается в том, что параметр разделен на три независимых сегмента. Первый сегмент, называемый сегментом инициализации, выполняется немедленно по достижении потоком управления оператора for и служит для инициализации любых переменных используемых в цикле. Второй сегмент, называемый сегментом условия, определяет, при каком условии цикл for должен прекратить выполнение своего блока кода. Финальный, третий сегмент, называемый сегментом пост-обработки, выполняется немедленно после блока кода, находящегося внутри цикла for.
Итак, как же это работает? Технически в любом из трех сегментов параметра могут быть размещены любые корректные PHP-операторы, и все будет нормально работать. Однако, как уже упоминалось, оператор for предназначен для ситуаций, когда нужно работать со счетчиком. Давайте взглянем на предыдущий пример применения цикла while, где мы хотели печатать каждое число между 1 и 300, которое нацело делится на 3. Если реализовать тот же код с помощью цикла for, это будет выглядеть так, как показано в листинге 1.18.
Листинг 1.18. Использование оператора for
<?php
for ($count = 1; $count <= 300; $count++) {
if (($count%3) == 0) {
echo "$count делится на 3!<BR>"
Как вы можете видеть, первый сегмент параметра цикла (сегмент инициализации) используется для того, чтобы присвоить $count начальное значение 1. Затем выполняется блок кода и третий сегмент параметра цикла (сегмент пост-обработки) увеличивает значение переменной $count на 1 до тех пор, пока второй сегмент (условие) не перестанет возвращать true. Этот код выполняет то же самое, что делал предшествующий пример с циклом while.
Категория: Все о PHP | Просмотров: 1193 | Добавил: witkom8382 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024
Категории
Оптимизация сайта [592]
Создание сайтов [355]
Заработать в интернете [508]
Технологии [48]
Полезное [392]
Услуги и сервисы [317]
Автоблог [105]
Скрипты для Ucoz [39]
Движок на сайт [10]
Все о Joomla и Drupal [20]
Все о PHP [91]
Поиск
Пользовательский поиск
Статистика


Онлайн всего: 3
Гостей: 3
Пользователей: 0
Seo сайт, технологии продвижения, мета теги, оптимизация сайтов, новости сео, Скрипты, Ucoz

Рейтинг@Mail.ru