Как понять циклы, или просто о сложном. Цикл FOR.
Юрий Мисейчик В продолжение нашего разговора о циклах, рассмотрим циклы for и его разновидность цикл foreach.
Цикл for как и все циклы выполняет функцию последовательной обработки некоторого объема сложных данных. Цикл for очень хорошо ассоциируется с словом ДЛЯ и уже сразу мы можем заговорить с PHP на человеческом языке. Т.е. рассматривая пример из прошлой статьи, мы можем написать просто (структуру этого примера вы можете увидеть на картинке выше):
< ?php
for ($i = 0; $i < 10; $i++) {
echo $i . " "; // выведет 0 1 2 3 4 5 6 7 8 9
}
?>
Что в переводе на человеческий язык обозначает ДЛЯ переменной $i равной 0, если $i меньше 10, выполняем выражение в фигурных скобках и увеличиваем $i на 1.
Вижу, что получилось объяснить немного непонятно, поэтому рассмотрим еще раз приведенный код построчно, первая строчка в коде: for ($i = 0; $i < 10; $i++), в ней:
- Первое выражение $i = 0 выполняется в начале цикла один раз.
- Второе значение $i < 10 проверяется перед каждым повтором цикла. Если оно соответствует действительности, то цикл продолжает выполняться и выполняет выражение в фигурных скобках. Если оно не соответствует истине, то цикл перестает выполняться.
- В конце выполнения цикла выполняется третье значение $i++.
Вторая строчка в коде echo $i . " ";. Тут всё очень просто echo – функция которая выводит нашу переменную $i на экран по мере выполнения цикла. Так же обратите внимание на конструкцию ." " после $i эта конструкция является разделителем между каждым выводимым значением $i, в нашем случае это пробел.
Цикл foreach является непосредственным аналогом цикла for, но используется для выполнения операций с значениями массива, не используя ключи, т.е. позволяет манипулировать с данными массива напрямую. Цикл foreach реализуется двумя способами:
< ?php $arr = array (1, 2, 3, 4, 5, 6, 7, 8, 9, 10); foreach ($arr as $value) { echo $value . " "; } ?>
В данном примере создается массив $arr с значениями от 1 до 10. Цикл берет первое значение из массива $arr и приписывает это значение переменной $value, затем выводит переменную $value функцией echo. Потом цикл присваивает второе значение из массива $arr переменной $value и так далее, цикл работает до тех пор, пока в массиве $arr еще остаются необработанные элементы. Результат работы этого цикла будет следующим: 1 2 3 4 5 6 7 8 9 10.-
Второй вариант цикла foreach позволяет извлекать из массива не только значения, но и сами ключи, имеет следующий вид:
< ?php $arr = array ("a"=>"one", "b"=>"two", "c"=>"three"); foreach ($arr as<strong> $key</strong>=>$value) { echo $key. "=".$value . " "; } ?>
Что бы более наглядно рассмотреть этот вариант, я дополнил массив более читабельными ключами и в итоге после выполнения этого цикла мы получим строку вида: a=one b=two c=three. А выполнятся цикл будет точно так же как и в первом случае его использования.
Вот так всё не сложно как кажется на самом деле, главное внимательно прочитать эту статью и понять её, потому что циклы for это самая сложная конструкция языка и если понять её, то дальше все будет намного проще. А разобраться в PHP более подробно вам помогут материалы с этого блога, поэтому для получения последних статей с блога, подпишитесь на RSS.


07.05.2008 в 08:21
Спасибо, интересная инфа
29.05.2008 в 14:46
Цикл foreach конечно компактнее и удобнее, но я, как и многие другие программеры, привык пользоваться стандартным for.
27.06.2008 в 09:57
Надо ли так разжевывать? По книгам вроде все усваивают этот базовый материал нормально.
07.07.2008 в 10:32
Очень доходчиво , спасибо!
13.07.2008 в 11:37
Может я немного старомоден, но для меня лучше стандартного for ничего нет.
29.10.2008 в 14:37
Супер статья! Подписался на RSS, буду следить =)
31.10.2008 в 06:05
Зачооот))))) Классно, давно не получал такого количества положительных эмоций)
11.11.2008 в 15:58
Очень было интересно читать, спасибо!