Естественным продолжением темы массивов будут циклы. На них я прошу обратить вас особое внимание, так как циклы - одни из главных конструкций языка php. Ради интереса я просмотрел несколько серьезных скриптов и везде используются циклы. Так что этим инструментом надо обязательно уметь пользоваться. Прежде чем я рассмотрю виды циклов, поговорим сперва о синтаксисе языка.
Для каждого цикла необходимо задать условие. Чтобы интерпретатор понял, что это действительно условие, его необходимо взять в круглые скобки ( ). Кстати, эти скобки применяются не только в циклах, а, например, в операторах условного перехода, о которых я расскажу вам в следующей статье.
Также для нормальной работы с циклами нам понадобится связка { }. Она будет обрамлять действия, которые необходимо выполнить.
Ну и собственно необходимы сами циклы, которых в пхп 4 вида.
1. while ( условие ) { действия } - цикл с предусловием.
В этой конструкции сначала проверяется на истинность условие, а затем только выполняются действия.
Например:
<?
$i =0;
while ($i < 10){
echo $i." ";
$i++;
}
?>
Этот пример выполнит 10 итераций (проходов цикла ) и в каждой из них выведет номер текущего прохода. Получим:
0 1 2 3 4 5 6 7 8 9
Число 10 не вывелось, так как 10 < 10 - ложное выражение и поэтому цикл сразу прервался.
2. do{ действия } while ( условие ) - цикл с постусловием.
Единственное отличие этого цикла от предыдущего - это изменение порядка действий: сперва выполняются действия, а только потом происходит проверка условия. Такая конструкция позволяет выполнить действия хотя бы один раз, в отличии от предыдущей.
3. Традиционный for ( инициализация; условие; установка шага ) { действия }
В этом цикле можно настроить кол-во итераций, определить произвольное кол-во счетчиков и много еще как его используют.
Пример:
<?
for ( $i = 0; $i < 10; $i++ ) {
echo $i." ";
}
?>
Этот пример делает то же самое, что и первый. Кстати, в этом операторе цикла можно опускать некоторые параметры (инициализацию, условия и установку шага ).
Кстати, если у вас в цикле выполняется только одно действие, можно не использовать {}:
<?
for ( $i = 0; $i < 10; $i++ )
echo $i." ";
?>
Вот еще один вариант использования циклов, найденный мною на просторах Интернета и хорошо показывающий все возможности конструкции for:
<?
for ($i=0, $j=0, $k="Точки"; $i < 10; $j++, $i += $j) {
$k=$k.".";
echo $k;
}
// Выводит Точки.Точки..Точки...Точки....
?>
4. В пхп специально для перебора массивов существует еще один очень полезный вид цикла foreach.
Пример:
<?
$mass[0] = 'A';
$mass[1] = 'B';
$mass[2] = 'C';
foreach ( $mass as $k=>$value ) {
echo $k.' = '. $value;
}
?>
Здесь каждое значение массива $mass присваивается переменной $k. Отличительной особенностью этой конструкции является то, что для прохода по всему массиву совсем не обязательно знать кол-во элементов в нем - размер определит сам php.
Еще одной особенностью, этого вида цикла, которую я заметил, - это то, что внутри цикла он работает с копией массива, а не с настоящим. Поэтому, чтобы изменить внутри него элементы, надо делать это немного по-другому:
<?
$mass[0] = 'A';
$mass[1] = 'B';
$mass[2] = 'C';
foreach ( $mass as $k=>$value ) {
$mass[$k] = '1';
echo $k.' = '. $value. ' ';
}
?>
Выведет:
0 = 1
1 = 1
2 = 1
Когда я сказал своему другу, что закончил разбираться с циклами. Он дал мне задание, которое будет являться хорошим закрепляющим уроком. Суть его в следующем: надо вывести на экран таблицу умножения. По его словам, необходимыми знаниями я уже обладаю, а значит и вы тоже.