От автора: операторы цикла PHP используются для выполнения одного и того же блока кода определенное количество раз. PHP поддерживает следующие четыре типа циклов: for, while, do … while и foreach.
for — перебирает через цикл блок кода определенное количество раз.
while – перебирает через цикл блок кода, если и до тех пор, пока указанное условие является истинным.
do … while — перебирает через цикл блок кода, а затем повторяет цикл, пока выполняется специальное условие.
foreach – перебирает через цикл каждый элемент в массиве.
Ниже рассмотрим ключевые слова continue и break, которые используются для выполнения циклов.
Оператор цикла for
Оператор for используется, когда вы знаете, сколько раз вам нужно выполнить оператор или блок операторов.
Синтаксис
1 2 3 |
for (инициализация; условие; шаг){ код, который должен быть выполнен; } |
Для установки начального значения счетчика используется инициализатор. Для этой цели может быть объявлена переменная, ее традиционно называют $i.
В следующем примере выполняется пять итераций и при каждом выполнении цикла изменяется назначенное значение двух переменных:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<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 выполняет блок кода, если и до тех пор, пока условное выражение истинно. Если условное выражение истинно, тогда будет выполняться блок кода. После выполнения кода условное выражение снова будет оценено, и цикл будет продолжаться до тех пор, пока условное выражение не окажется ложным.
Синтаксис
1 2 3 |
while (условие) { код, который должен быть выполнен; } |
В этом примере значение переменной уменьшается при каждой итерации цикла, и значение счетчика увеличивается до тех пор, пока не достигнет 10, после этого условие перестанет выполняться и цикл завершится.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<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 выполняет блок кода хотя бы один раз — он повторяет цикл, пока условие выполняется.
Синтаксис
1 2 3 4 |
do { код, который должен быть выполнен; } while (условие); |
В следующем примере значение i увеличивается, по крайней мере, один раз и значение переменной i будет увеличиваться до тех пор, пока не достигнет 10:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<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 используется для преобразования массивов через цикл. При каждой итерации текущему элементу массива присваивается значение $, а указатель массива перемещается на одну позицию, и при следующем проходе будет обрабатываться следующий элемент.
Синтаксис
1 2 3 |
foreach (массив в качестве значения) { код, который должен быть выполнен; } |
В следующем примере выводятся значения массива.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<html> <body> <?php $array = array( 1, 2, 3, 4, 5); foreach( $array as $value ) { echo "Value is $value <br />"; } ?> </body> </html> |
Этот код дает следующий результат:
1 2 3 4 5 |
Value is 1 Value is 2 Value is 3 Value is 4 Value is 5 |
Оператор break
Ключевое слово PHP break используется для преждевременного прекращения выполнения цикла. Оператор break находится внутри блока операторов. Он предоставляет вам полный контроль, вы можете остановить цикл, когда вам нужно. После выхода из цикла будет выполняться следующее после цикла действие.
В следующем примере условие test становится истинным, когда значение счетчика достигает 3 и цикл завершается.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<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
Оператор continue
Ключевое слово PHP continue используется для остановки текущей итерации цикла, но оно не завершает цикл. Как и оператор break, оператор continue находится внутри блока операторов, содержащих код, который выполняется циклом. Если при проходе кода, встречается оператор continue , остальная часть кода цикла пропускается, и начинается следующий проход цикла.
В следующем примере цикл выведет значение массива, но в случае если условие истинно он пропускает код и выводит следующее значение.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<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> |
Этот код дает следующий результат —
1 2 3 4 |
Value is 1 Value is 2 Value is 4 Value is 5 |
Источник: //www.tutorialspoint.com/
Редакция: Команда webformyself.