Циклы в PHP используются для выполнения одного и того же блока кода указанное количество раз. PHP поддерживает следующие четыре типа цикла.
-
for — перебирает блок кода указанное количество раз.
-
while — перебирает блок кода, если и до тех пор, пока указанное условие выполняется.
-
do … while — проходит через блок кода один раз, а затем повторяет цикл, пока выполняется специальное условие.
-
foreach — проходит через блок кода для каждого элемента в массиве.
for — перебирает блок кода указанное количество раз.
while — перебирает блок кода, если и до тех пор, пока указанное условие выполняется.
do … while — проходит через блок кода один раз, а затем повторяет цикл, пока выполняется специальное условие.
foreach — проходит через блок кода для каждого элемента в массиве.
Мы обсудим ключевые слова continue и break, используемые для контроля выполнения циклов.
Оператор цикла for
Оператор for используется, когда вы знаете, сколько раз вы хотите выполнить оператор или блок операторов.
Синтаксис
for ( initialization ; condition ; increment ){ code to be executed; }
Инициализатор используется для установки начального значения счетчика числа итераций цикла. Для этой цели здесь может быть объявлена переменная, и традиционно ее называют $ i.
пример
В следующем примере выполняется пять итераций и изменяется назначенное значение двух переменных на каждом проходе цикла.
<html> <body> <?php $a = 0; $b = 0; for( $i = 0; $i<5; $i++ ) { $a += 10; $b += 5; } echo ("At the end of the loop a = $a and b = $b" ); ?> </body> </html>
Это даст следующий результат —
At the end of the loop a = 50 and b = 25
Оператор while
Оператор while выполнит блок кода, если и до тех пор, пока тестовое выражение истинно.
Если тестовое выражение имеет значение true, тогда блок кода будет выполнен. После выполнения кода тестовое выражение будет снова оценено, и цикл будет продолжаться до тех пор, пока тестовое выражение не будет найдено ложным.
Синтаксис
while ( condition ) { code to be executed ; }
пример
В этом примере значение переменной уменьшается на каждой итерации цикла, и счетчик увеличивается до тех пор, пока не достигнет 10, когда оценка ложна и цикл завершается.
<html> <body> <?php $i = 0; $num = 50; while( $i < 10) { $num--; $i++; } echo ("Loop stopped at i = $i and num = $num" ); ?> </body> </html>
Это даст следующий результат —
Loop stopped at i = 10 and num = 40
Оператор цикла do … while
Оператор do … while выполнит блок кода хотя бы один раз — затем он будет повторять цикл, пока условие выполняется.
Синтаксис
do { code to be executed; } while ( condition );
пример
В следующем примере значение i будет увеличиваться как минимум один раз, и оно будет продолжать увеличивать переменную i до тех пор, пока она имеет значение меньше 10 —
<html> <body> <?php $i = 0; $num = 0; do { $i++; } while( $i < 10 ); echo ("Loop stopped at i = $i" ); ?> </body> </html>
Это даст следующий результат —
Loop stopped at i = 10
Оператор цикла foreach
Оператор foreach используется для обхода массивов. Для каждого прохода значение текущего элемента массива присваивается значению $ value, а указатель массива перемещается на единицу, и на следующем проходе будет обрабатываться следующий элемент.
Синтаксис
foreach ( array as value ) { code to be executed; }
пример
Попробуйте следующий пример, чтобы перечислить значения массива.
<html> <body> <?php $array = array( 1, 2, 3, 4, 5); foreach( $array as $value ) { echo "Value is $value <br />"; } ?> </body> </html>
Это даст следующий результат —
Value is 1 Value is 2 Value is 3 Value is 4 Value is 5
Оператор перерыва
Ключевое слово PHP break используется для преждевременного прекращения выполнения цикла.
Оператор break находится внутри блока операторов. Это дает вам полный контроль, и всякий раз, когда вы хотите выйти из цикла, вы можете выйти. После выхода из цикла будет выполнен немедленный оператор в цикле.
пример
В следующем примере условие проверки становится истинным, когда значение счетчика достигает 3 и цикл завершается.
<html> <body> <?php $i = 0; while( $i < 10) { $i++; if( $i == 3 ) break; } echo ("Loop stopped at i = $i" ); ?> </body> </html>
Это даст следующий результат —
Loop stopped at i = 3
Продолжение заявления
Ключевое слово продолжения PHP используется для остановки текущей итерации цикла, но оно не завершает цикл.
Как и оператор break, оператор continue находится внутри блока операторов, содержащего код, который выполняет цикл, перед которым следует условный тест. Для прохода, встречающегося с оператором continue , остаток кода цикла пропускается, и начинается следующий проход.
пример
В следующем примере цикл печатает значение массива, но для которого условие становится истинным, он просто пропускает код и печатается следующее значение.
<html> <body> <?php $array = array( 1, 2, 3, 4, 5); foreach( $array as $value ) { if( $value == 3 ) continue; echo "Value is $value <br />"; } ?> </body> </html>
Это даст следующий результат —