Язык программирования PHP - [14]
> if ($i % 2 == 0) print $i;
> // если число четное,
> // то печатаем его
>$i++; // увеличиваем счетчик на единицу
>}
>?>
В третье выражение конструкции for можно записывать через запятую сразу несколько простейших команд. Например, если мы хотим просто вывести все цифры, то программу можно записать совсем просто:
>
>for ($i=0; $i<10; print $i, $i++)
>/* Если блок_выполнения не содержит команд
>или содержит только одну команду,
>фигурные скобки, в которые он заключен,
>можно опускать*/
>?>
foreach
Еще одна полезная конструкция. Она появилась только в PHP4 и предназначена исключительно для работы с массивами.
Синтаксис:
>foreach ($array as $value) {блок_выполнения}
либо
>foreach ($array as $key => $value)
> {блок_выполнения}
В первом случае формируется цикл по всем элементам массива, заданного переменной $array. На каждом шаге цикла значение текущего элемента массива записывается в переменную $value, и внутренний счетчик массива передвигается на единицу (так что на следующем шаге будет виден следующий элемент массива). Внутри блока_выполнения значение текущего элемента массива может быть получено с помощью переменной $value. Выполнение блока_выполнения происходит столько раз, сколько элементов в массиве $array.
Вторая форма записи в дополнение к перечисленному выше на каждом шаге цикла записывает ключ текущего элемента массива в переменную $key, которую тоже можно использовать в блоке_выполнения.
Когда foreach начинает исполнение, внутренний указатель массива автоматически устанавливается на первый элемент.
>
>$names = array("Иван","Петр","Семен");
>foreach ($names as $val) {
> echo "Привет, $val
";
> // выведет всем приветствие
>}
>foreach ($names as $k => $val) {
> // кроме приветствия,
> // выведем номера в списке, т.е. ключи
> echo "Привет, $val !
> Ты в списке под номером $k
";
>}
>?>
Операторы передачи управления
Иногда в случае особых обстоятельств требуется немедленно завершить работу цикла и передать управление первой инструкции программы, расположенной за последней инструкцией цикла. Для этого используют операторы break и continue.
Break
Оператор break заканчивает выполнение текущего цикла, будь то for, foreach, while, do..while или switch. break может использоваться с числовым аргументом, который говорит, работу скольких управляющих структур, содержащих его, нужно завершить.
>
>$i=1;
>while ($i) {
> $n = rand(1,10);
> // генерируем произвольное число
> // от 1 до 10
> echo "$i:$n ";
> // выводим номер итерации и
> // сгенерированное число
> if ($n==5) break;
>/* Если было сгенерировано число 5,
>то прекращаем работу цикла. В этом случае
>все, что находится после этой строчки
>внутри цикла, не будет выполнено */
> echo "Цикл работает
";
> $i++;
>}
>echo "
Число итераций цикла $i ";
>?>
Результатом работы этого скрипта будет примерно следующее:
>1:7 Цикл работает
>2:2 Цикл работает
>3:5
>Число итераций цикла 3
Если после оператора break указать число, то прервется именно такое количество содержащих этот оператор циклов. В приведенном выше примере это неактуально, поскольку вложенных циклов нет. Немного изменим наш скрипт:
>
>$i=1;
>while ($i) {
> $n = rand(1,10);
> // генерируем произвольное число
> // от 1 до 10
> switch ($n){
> case 5:
> echo "
> Выход из switch (n=$n)";
> break 1;
> // прекращаем работу switch
> // (первого содержащего break цикла)
> case 10:
> echo "
> Выход из switch и
> while (n=$n)";
> break 2;
> // прекращаем работу switch и while
> // (двух содержащих break циклов)
> default:
> echo "switch работает (n=$n), ";
>}
>echo " while работает – шаг $i
";
>$i++;
>}
>echo "
Число итераций цикла $i ";
>?>
continue
Иногда нужно не полностью прекратить работу цикла, а только начать его новую итерацию. Оператор continue позволяет пропустить дальнейшие инструкции из блока_выполнения любого цикла и продолжить выполнение с нового круга. continue можно использовать с числовым аргументом, который указывает, сколько содержащих его управляющих конструкций должны завершить работу.
Заменим в примере предыдущего параграфа оператор break на continue. Кроме того, ограничим число шагов цикла четырьмя.
>
>$i=1;
>while ($i<4) {
> $n = rand(1,10);
> // генерируем произвольное число
> // от 1 до 10
> echo "$i:$n ";
> // выводим номер итерации и
> // сгенерированное число
> if ($n==5) {
> echo "Новая итерация ";
> continue;
>/* Если было сгенерировано число 5,
>то начинаем новую итерацию цикла,
>$i не увеличивается */
> }
> echo "Цикл работает
";
> $i++;
>}
>echo "
Число итераций цикла $i ";
>?>
Результатом работы этого скрипта будет
>1:10 Цикл работает
>2:5 Новая итерация 2:1 Цикл работает
>3:1 Цикл работает
>Число итераций цикла 4
Заметим, что после выполнения оператора continue работа цикла не заканчивается. В примере счетчик цикла не меняется в случае получения числа 5, поскольку он находится после оператора continue. Фактически с помощью continue мы пытаемся избежать ситуации, когда будет сгенерировано число 5. Поэтому можно было просто написать, заменив оператор continue на проверку истинности выражения:

Здоровые семейные отношения – это залог успешной полоролевой идентификации ребёнка. Начинаясь с рождения, процесс идентификации протекает непрерывно, с заострениями и актуализациями переживаний на кризисных этапах психосексуального развития. Одним из таких этапов является возраст эдипова комплекса. Конфликты и искажения воспитательного процесса на этом этапе никогда не проходят бесследно и могут с новой силой реанимироваться уже в подростковом возрасте. В пособии представлены основные критерии анализа и подходы к пониманию проблем половой идентификации ребёнка с помощью популярной рисуночной методики.

Предлагаемое методическое пособие рассчитано на студентов 1 курса всех форм обучения: очной (дневной, вечерней), при которой студенты слушают полный курс лекций по всем заявленным в пособии темам, и заочной, при которой студенты слушают краткий курс лекций и занимаются самостоятельной подготовкой к экзаменам и зачетам. Пособие содержит изложенную в краткой форме программу занятий, подробный тематический план-конспект по тридцати двум темам изучаемым в течение семестра, список рекомендованной к курсу лекций литературы, вопросы к экзаменам, темы рефератов, семинарских занятий, а также приблизительные темы дипломных и курсовых работ.

Обучение созданию профессиональных видеофильмов и обработки их на компьютере представлено в виде 12 уроков. Рассматривается, как с помощью программы Adobe After Effects можно редактировать и рисовать последовательность кадров, добавлять титры и заголовки, применять различные видеоэффекты, редактировать звуковое сопровождение фильма. Описывается процесс настройки прозрачности и наложения слоев видео для последующего экспорта фильма в различных форматах. Показываются способы создания анимации при масштабировании, поворотах и в движении с наложением титров и спецэффектов.

Книга является пособием по истории русской литературы XX века (20-90-е годы). Она представляет собой первый том, за которым последует продолжение — «Литературный процесс» (в двух частях). Пособие призвано отразить современный научный взгляд на основные художественные ценности и тенденции развития русской литературы XX века.Издание предназначено для студентов филологических факультетов российских университетов, а также для аспирантов и преподавателей, — всех, кто занимается русской литературой.

Данный конспект лекций предназначен для студентов высших и средних специальных учебных заведений. В него входят сведения о древесине и древесных материалах, описываются их основные свойства. Дается характеристика металлов и сплавов, рассматриваются способы их применения. Приводятся основные сведения о лакокрасочных, смазочных, облицовочных материалах, а также классификация клеев и области их назначения.

В данном конспекте лекций в доступной форме изложены все основные вопросы по дисциплине «микроэкономика».Книга поможет получить основные знания и подготовиться к зачету или экзамену. Рекомендуется студентам экономических специальностей.