Циклы в PHP используются для выполнения одного и того же блока кода снова и снова, пока выполняется определенное условие. Основная идея цикла — автоматизировать повторяющиеся задачи в программе для экономии времени и усилий. PHP поддерживает четыре различных типа циклов.
- while — перебирает блок кода до тех пор, пока указанное условие истинно.
- do…while — блок кода выполняется один раз, а затем оценивается условие. Если условие истинно, утверждение повторяется, пока истинно указанное условие.
- for — перебирает блок кода, пока счетчик не достигнет заданного числа.
- foreach — перебирает блок кода для каждого элемента в массиве.
Вы также узнаете, как перебирать значения массива с помощью цикла foreach()
в конце этой главы. Цикл foreach()
работает специально для массивов.
PHP-цикл while
Оператор while
будет перебирать блок кода до тех пор, пока условие, указанное в операторе while
, будет истинным.
while(condition) {
// Код для выполнения
}
В приведенном ниже примере определяется цикл, который начинается с $i=1
. Цикл будет продолжать выполняться до тех пор, пока $i
меньше или равно 3. Значение $i
будет увеличиваться на 1 при каждой итерации цикла:
<?php
$i = 1;
while($i <= 3) {
$i++;
echo "The number is " . $i . "<br>";
}
?>
PHP-цикл do…while
Цикл do-while
— это вариант цикла while
, который проверяет условие в конце каждой итерации цикла. В цикле do-while
блок кода выполняется один раз, а затем условие проверяется; если условие истинно, оператор повторяется до тех пор, пока указанное условие, которое является истинным.
do{
// Код для выполнения
}
while(condition);
В следующем примере цикл начинается с $i=1
. Затем он увеличивает $i
на 1 и печатает результат. Затем условие проверяется и цикл продолжается пока $i
меньше или равно 3.
<?php
$i = 1;
do{
$i++;
echo "The number is " . $i . "<br>";
}
while($i <= 3);
?>
Разница между циклами while и do … while в PHP
Цикл while
отличается от цикла do-while
одним важным аспектом — с помощью цикла while
условие проверяется в начале каждой итерации цикла, поэтому, если условное выражение оценивается как ложное, цикл заканчивает выполнение.
С другой стороны, с циклом do-while
цикл всегда будет выполняться один раз, даже если условное выражение ложно, потому что условие оценивается в конце итерации цикла, а не в начале.
PHP-цикл for
Цикл for
исполняет блок кода, пока выполняется определенное условие. Обычно он используется для выполнения блока кода определенное количество раз.
for(initialization; condition; increment) {
// Код для выполнения
}
Параметры цикла for
имеют следующие значения:
initialization
— используется для инициализации переменных счетчика и вычисляется один раз безоговорочно перед первым выполнением тела цикла;condition
— в начале каждой итерации проверяется состояние. Если оно имеет значениеtrue
, цикл продолжается, и выполняются вложенные операторы. Если оно принимает значениеfalse
выполнение цикла завершается;increment
— обновляет счетчик цикла новым значением. Оно проверяется в конце каждой итерации.
В приведенном ниже примере цикл начинается с $i=1
. Цикл будет продолжаться до тех пор, пока $i
не станет меньше или равно 3. Переменная $i
будет увеличиваться на 1 каждый раз при запуске цикла:
<?php
for($i=1; $i<=3; $i++){
echo "The number is " . $i . "<br>";
}
?>
PHP-цикл foreach
Цикл foreach
используется для перебора массивов.
foreach($array as $value) {
// Код для выполнения
}
В следующем примере демонстрируется цикл, который будет печатать значения данного массива:
<?php
$colors = array("Red", "Green", "Blue");
// Цикл массива цветов
foreach($colors as $value) {
echo $value . "<br>";
}
?>
Есть еще один синтаксис цикла foreach
, который является расширенной версией первого.
foreach($array as $key => $value) {
// Код для выполнения
}
<?php
$superhero = array(
"name" => "Peter Parker",
"email" => "peterparker@mail.com",
"age" => 18
);
// Цикл массива супергероев
foreach($superhero as $key => $value) {
echo $key . " : " . $value . "<br>";
}
?>