Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

PHP и MySQKL для начинающих - Харрис Э.

Харрис Э. PHP и MySQKL для начинающих — Кудиц образ , 2005. — 388 c.
ISBN 1-931841-32-2
Скачать (прямая ссылка): phpmysquldlanachin2005.pdf
Предыдущая << 1 .. 34 35 36 37 38 39 < 40 > 41 42 43 44 45 46 .. 84 >> Следующая

Если вы уже разобрались в том, как действует цикл for, то все изменения должны быть вам понятны. На этот раз я считаю в обратном порядке, поэтому $i начинает с большего значения (в данном случае с 10). Условие продолжения цикла сейчас выглядит как $ i > 0, и это означает, что цикл будет продолжать свою работу до тех пор, пока $ i больше нуля. Как только $ i станет равной нулю или меньше, цикл завершится. Обратите внимание, что вместо прибавления некоторого числа к переменной $i, на этот раз я ее декрементирую, т. е., уменьшаю ее значение на единицу при каждом выполнении тела цикла. Если вы считаете в обратном порядке, убедитесь, что в вашем цикле есть механизм для уменьшения значения его переменной, иначе цикл никогда не закончится. Вспомните о том, что команда $i++ добавляет единицу к $i, а команда $i - отнимает единицу от $i.
Используем цикл while
РНР, как и большинство языков программирования, предоставляет еще один вариант оператора цикла, еще более гибкий, чем for. Цикл while точно так же, как и цикл for, может быть использован тогда, когда вы точно знаете, сколько раз должна бьтть выполнена некоторая последовательность действий. Рис. 4.6 показывает, что цикл while может работать подобно циклу for.:
biA<uiiiLii.»nM4ia.NJUiii.ii,.iJ.,jiai»M^—
Ft* E<t Mew F«wrl«c Toob ¦ \
• - ф jg ^ | .фи»**
_COj^«]pBtohantf»tBfriq ~ CS О" S) * & i 0hjnd ffianfrig • .v, ..,j
A simple while loop
2
г
9
iC
Рис. 4.6. Несмотря на то, что результат
работы этой программы
похож на результат первой программы
с циклом for, на этот раз для его достижения
"j! конструкция
использована другая
Циклы и массивы: покер в кости
123
Повторяем выполнение кода в цикле while
Код программы while.php очень похож на код, демонстрирующий работу цикла for, но, как вы заметили, конструкция цикла здесь немного проще.
<html>
<head>
<title>
A simple While Loop </title>
</head>
<body>
<hl>A simple while loop</hl>
<?
$i = 1;
while ($i <= 10)(
print "$i <br>\n"; '
$i++;
} // завершение цикла while ?>
</body>
</html>
Для цикла while требуется только один параметр — условие. Цикл будет повторяться до тех пор, пока условие истинно. Как только условие окажется ложным, цикл завершит свою работу. Рассматриваемая программа начинается с инициализации переменной $i, затем она сравнивает эту переменную с числом десять при помощи оператора «меньше или равно» в цикле while. В теле цикла программа выводит на экран текущее значение $i и увеличивает $i на единицу.
Распознаем бесконечные циклы
Гибкая конструкция while обладает огромной мощью, но вместе с этой мощью в нее заложены и возможные проблемы. Циклы while очень легко строить, но неправильно работающий цикл может доставить немало неприятностей. Может получиться так, что код, расположенный внутри цикла, ни разу не будет выполнен. Или, хуже того, вы можете допустить какую-либо логическую ошибку, из-за которой выполнение цикла будет продолжаться бесконечно. В качестве примера посмотрите на следующий код.
<html>
<head>
<title>
124
Глава 4
A bad While Loop </title>
</head>
<body>
<hl>A bad while loop</hl>
<?
Si = 1;
while ($i <= 10){ print n$i <br>\n";
$j++;
} // завершение цикла while
Программа bad.While.php предназначена специально для того, чтобы показать, что происходит, когда в программе появляется бесконечный цикл. Если вы запустите эту программу, она может на какое-то время замедлить работу всего веб-сервера. Убедитесь в том, что ваш сервер настроен так, чтобы останавливать РНР-процесс, когда пользователь нажимает на кнопку Stop в своем браузере. (Для большинства вариантов установки языка РНР эта настройка включена по умолчанию.)
Программа badWhile.php содержит мелкую, но фатальную ошибку. Посмотрите внимательно на ее исходный код и попробуйте обнаружить ее самостоятельно. Этот код выглядит точь-в-точь как наша первая программа с циклом while, за исключением того что вместо инкрементирования $i в нем инкрементируется $ j. Переменная $ j не имеет никакого отношения к переменной $i, поэтому значение $i не изменяется. Цикл будет продолжать и продолжать свое выполнение, поскольку он не может закончиться, пока $ i не станет строго больше десяти, а этого не произойдет никогда. Эта программа представляет собой пример классического «бесконечного цикла». Каждый программист хотя бы раз в жизни случайно создавал нечто подобное, и вас эта участь тоже не минует.
Предыдущая << 1 .. 34 35 36 37 38 39 < 40 > 41 42 43 44 45 46 .. 84 >> Следующая