For (;;);
Это бесконечный цикл. Точки с запятой в скобках должны обязательно присутствовать, даже если между ними ничего нет.
Циклы for в PHP отличаются от аналогичных циклов в Паскале своей гибкостью и большими возможностями. Первая и третья составляющие в скобках не обязательно присваивают начальное значение параметру цикла и изменяют его после каждой итерации, а вторая составляющая не обязательно является условием продолжения цикла. Любая из этих составляющих может быть любым выражением или оператором целого или вещественного типов, строкой или функцией. Но вторая составляющая всегда понимается как условие, что бы она собой ни представляла:
for (echo “<BR>Славное”; echo “<BR>море -”; echo “<BR>Байкал!”)
echo “<BR>священный”;
На экран будет выведена бесконечная последовательность:
Славное
Море -
Священный
Байкал!
Море -
Священный
Байкал!
Море -
Священный
Байкал!
. . . . .
Условие выполнения цикла проверяется перед каждой итерацией, а приращение параметра цикла может быть переменным, поэтому, в отличие от Паскаля, в PHP допускается изменение значения параметра цикла и условия продолжения цикла в теле этого же цикла.
В одном цикле for можно использовать одновременно несколько параметров цикла, которые при инициализации разделяются запятыми:
$n = 20;
for ($top=0, $bottom = n-1; $top < $bottom; $top++, $bottom--)
{
$temp = $string[$top];
$string[$top] = $string[$bottom];
$string[$bottom] = $temp;
}
Эта программа переворачивает строку символов $string[n] .
Как и в других языках программирования, в PHP разрешено использовать цикл в цикле, при этом циклы должны иметь разные параметры цикла:
$min = 6;
$max = 100000;
echo “<BR>Совершенные числа от $min до $max”;
for ($num = $min; $num <= $max; $num += 2)
{
$sum = 1;
for ($factor = 2; $factor < $num; $factor++)
{
if ($num % $factor == 0)
$sum += $factor;
}
if ($sum == $num)
echo “<BR>$num”;
}
Эта программа осуществляет поиск всех совершенных чисел от 6 до 100000.
Для досрочного прекращения выполнения цикла и выхода из него используется оператор прерывания break:
$min = 2;
$max = 1000;
for ($n = $min; $n <= $max; $n++)
{
for ($i = $min; $i < $n; $i++)
{
if ($n % $i == 0)
Break;
}
if ($i == $n)
echo “<BR>$n”;
}
Эта программа осуществляет поиск всех простых чисел от 2 до 1000.
Во вложенных циклах команда break прекращает выполнение только того цикла, в котором стоит.
Для пропуска одной итерации цикла (перехода к следующей итерации) используется команда продолжения continue:
$min = 3;
$max = 100;
for ($number = $min; $number <= $max; $number++)
{
if ($number % 3 != 0)
Дата добавления: 2015-04-19; просмотров: 678;