Цикл while и for в PHP

В языке программирования PHP существует несколько способов сделать цикл. Одни из самых популярных — это while и for. Продемонстрируем их использование на практике.

Цикл while

Цикл while( условие ) выполняется только в том случае, если условие является истиной (как будто при проверке if( условие )). Очевидно, что при таком способе работы цикла его условие должно изменяться с каждой итерацией, иначе это будет бесконечный цикл. Продемонстрируем использование цикла на практике:

<?php
   $i = 1;
   while( $i <= 3 ){
      echo $i;
      echo '<br>';
      $i++;
   }
?>

При выполнении такого кода на экране мы увидим:

1
2
3

Как только $i станет равной 4, то произойдёт выход из цикла из-за того, что значение в скобках

while( 4 <= 3 ) является ложью.

Обратите внимание, что в циклах принято обозначать переменные, которые изменяются с каждой итерацией, буквами: i, j, k.

Если бы в примере не было строчки $i++;, то цикл выполнялся бы бесконечно, потому что $i никогда бы не стала больше 3.

Цикл for

Теперь разберём более сложный, но популярный цикл for( начальные параметры; условие завершения цикла; действие на каждой итерации ). Этот цикл чаще встречается в проектах, чем while. Он имеет не одно, а сразу три условия. Попробуем переписать предыдущий пример, но используем цикл for:

<?php
   for( $i = 1; $i <= 3; $i++ ){
      echo $i;
      echo '<br>';
   }
?>

Такой цикл занимает меньше строк, чем цикл с while, потому что включает в скобки for( ) задание начального значения переменной и действия, которое необходимо с ней сделать при новой итерации цикла. Результат выполнения такого цикла будет аналогичен результату из предыдущего примера. При выполнении такого кода на экране мы увидим:

1
2
3

В скобках цикла for( ) может стоять несколько переменных, несколько параметров и несколько действий, которые надо сделать с несколькими переменными. Такая теоретическая возможность есть, но на практике она никогда не встречается. Потому что чем легче — тем лучше. Но для образовательных целей приведём пример:

<?php
   for( $i = 1, $j = 2; $i <= 3, $j <= 4; $i++, $j++ ){
      echo $i . ' - ' . $j . '<br>';
   }
?>

Если хотя бы одно из условий $i <= 3, $j <= 4 не будет выполняться, то цикл закончится.

Была ли эта статья полезна? Есть вопрос?

Закажите недорогой хостинг Заказать

всего от 290 руб

PHP :: Цикл for

Еще одним циклом в PHP является цикл for. Прежде, чем описать его синтаксис давайте рассмотрим пример №1.

PHP Результат htmlCodes

<?php
//Присвоили переменной стартовое значение
$a=3; 								 
//Выражения в условии отделяются точками с запятой	
for($i=1;$i<5;$i++){	 	
	//Код в теле цикла выполняется в случае 
	//истинности второго выражения в условии цикла
	echo $a=++$a; 			
}	
/* Первое выражение в условии цикла вычисляется только один раз в самом начале 
цикла, а его результат представляет собой некоторое стартовое значение */
/* Второе выражение является условным: если оно принимает значение true, то 
цикл продолжается, и код в теле цикла будет выполнен;  если же оно принимает 
значение false, выполнение цикла заканчивается */
/* Третье выражение вычисляется в конце каждой итерации перед началом 
следующей проверки второго (условного) выражения */
?>

Пример №1. Цикл for

Итак, сперва записывается ключевое слово for, затем в круглых скобках через точку с запятой записываются три выражения (условие цикла), после чего фигурными скобками формируется тело цикла, в котором находится выполняемый циклом код.

Первое выражение в условии вычисляется только один раз в самом начале цикла, а его результат представляет собой некоторое стартовое значение, например, счетчика цикла. Второе выражение является условным: если оно принимает значение true, то цикл продолжается, и код в теле цикла будет выполнен; если же оно принимает значение false, то выполнение цикла прерывается. Третье выражение вычисляется в конце каждой итерации перед началом следующей проверки второго (условного) выражения и обычно увеличивает стартовое значение цикла на единицу.

Отметим, что каждое из выражений условия цикла может быть пустым или содержать несколько выражений, разделенных запятыми. Несколько выражений могут понадобиться, например, если используется более одного счетчика цикла. Однако следует иметь в виду, что условные выражения во второй части условия цикла, хоть и вычисляются все, – результат используется только последнего из них. Кроме того, если условное выражение вообще отсутствует, то интерпретатор неявно воспринимает это значение как true, и цикл будет выполняться бесконечно.

Данный прием может быть полезен, когда необходимо прервать цикл в нужный момент, используя оператор break. Чтобы было понятнее, давайте рассмотрим пример №2.

PHP Результат htmlCodes

<?php
for($i=1; $i<=5; $i++){ 	
	//За цикл выведет 12345
	echo $i;		 
}	
echo '<br>';
for($i=1; ;$i++){
    
	if($i>5){
		//Иначе цикл будет бесконечным
		break; 
    }
   
   //За цикл также выведет 12345
   echo $i; 	 
}
echo '<br>';
for($i=1,$k=1; $i<=3; $i++,$k*=5){ 	
	//За цикл выведет 1 1 2 5 3 25
	echo $i.' '.$k.' '; 
}	
?>

Пример №2. Использование цикла for

Напомним, что все виды циклов могут иметь вложенные циклы и условные инструкции, позволяя нужным образом изменять дальнейший ход выполнения программы.

Как найти индекс foreach с помощью PHP

В этом руководстве мы предоставим вам полезные методы для поиска индекса foreach в PHP.

Ниже вы можете найти три варианта с соответствующими примерами.

Ключевая переменная содержит индекс каждого значения внутри цикла foreach. В PHP цикл foreach используется следующим образом:

  

Переменная value содержит значение каждого элемента массива. Вот пример:

 
$value) { echo "Индекс = " . $ ключ . ", а значение равно ". $значение; эхо "\n"; } ?>

Попробуй сам »

Здесь ключевая переменная хранит индекс цикла foreach. Значение переменной демонстрирует значение каждого элемента в массиве.

Вывод будет выглядеть следующим образом:

 Индекс = 0, а значение = 1
Индекс = 1, а значение = 2
Индекс = 2, а значение = 3
Индекс = 3, а значение = 4
Индекс = 4, а значение = 5
Индекс = 5, а значение = 6
Индекс = 6, а значение = 7
Индекс = 7, а значение = 8
Индекс = 8, а значение = 9Индекс = 9, а значение = 10 

Переменная index применяется как дополнительная переменная для демонстрации индекса цикла foreach на любой итерации.

Вот пример:

  $val) {
  echo "Индекс равен $index";
  $индекс++;
  эхо "\n";
}

?> 

Важно учитывать, что индексная переменная изначально должна быть инициализирована значением. После этого он увеличивается каждый раз, когда цикл повторяется.

Вывод будет выглядеть так:

 Индекс равен 0
Индекс равен 1
Индекс 2
Индекс 3
Индекс 4
Индекс 5
Индекс 6
Индекс 7
Индекс 8
Индекс равен 9 

Теперь давайте посмотрим, как будет выглядеть использование переменных ключа и индекса.

Вот пример:

 
$value) { echo "Индекс равен $index"; $индекс = $ключ + 1; эхо "\n"; } ?>

В приведенном выше примере значение переменной ключа сохраняется с приращением в пределах переменной индекса. Таким образом, в этом случае для нахождения индекса foreach используются переменные key и index.

В PHP цикл foreach применяется для прохода по блоку кода для каждого элемента внутри массива. Важно отметить, что цикл foreach работает только с объектами и массивами. Как только вы попытаетесь использовать его для переменной с другим типом данных, он выдаст ошибку.

Цикл PHP For — Цикл PHP

Цикл по используется, когда вы заранее знаете, сколько раз должен запускаться сценарий. Синтаксис

 для (инициализация; условие; приращение)

{

 код, который нужно выполнить;

}

 

Параметры цикла for:
Инициализация: используется для установки счетчика.
Условие : , если условие истинно, цикл будет продолжен, если условие ложно, цикл завершится.
Приращение: используется для увеличения счетчика.
Eg i (выведите оператор 5 раз)

 ";

}
?>
 

Выход Номер 1
Номер 2
Номер 3
Номер 4
Номер 5

В приведенном выше примере
мы хотим напечатать оператор 5 раз. мы инициализируем, сколько раз цикл должен повторяться. Цикл
начинается с ($i=1) и заканчивается ($i<=5)
, поэтому на выходе отображается пять раз определенный оператор.


Напишите программу, которая будет печатать ваше имя 10 раз

 ";

}
?>
 

Вывод
Меня зовут Рекс
Меня зовут Рекс
Меня зовут Рекс
Меня зовут Рекс
Меня зовут Рекс

В приведенном выше примере
здесь выходные данные отображают пять раз определенное выражение (Меня зовут ) с переменной (rexx)


Найдите сумму от 1 до 100.

 
 


Выход
5050

В приведенном выше примере переменная
( $sum ) содержит значение (0). Цикл For() используется для вывода суммы чисел.
установить итерацию цикла, цикл будет продолжаться до тех пор, пока ( $i<=100) .
Таким образом, вывести на экран 5050


Найти все четные числа от 1 до 100

 
 

Выход
2 4 6 6 8 10 12 14 16 18 20 22 26 26 28 30 32 34 36 38 40 42
44 46 48 50 52 54 56 58 60 62 64 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100

В приведенном выше примере
Здесь цикл начинается с ($i=2) после того, как каждый счетчик $i увеличивает свое значение на 2 и печатает все четные значения от (от 1 до 100)


Найти все нечетные числа от 1 до 100 с помощью цикла.

 
 

Выход
1 3 5 7 9 … 99

В приведенном выше примере
Цикл начинается с ($i=1) до ($i<=99) каждый раз, когда $i увеличивает свое значение на 2. Если значение ($i=1) становится равным 3. поэтому печатаются все нечетные значения.


Найти сумму четных и нечетных чисел от 1 до 100.

 ";

 echo "Сумма нечетных чисел=".$odd;
 
?>
 


Вывод
Сумма четных чисел=2550
Сумма нечетных чисел=2500

В приведенном выше примере используется цикл For
, потому что мы знаем, сколько раз повторяется цикл. внутри цикла for мы объявляем условие if..else.
Если ($%2==0) условие верно, то код будет выполняться и вычислять сумму четных чисел. в противном случае выполняется оператор else и вычисляется сумма нечетных чисел.
Вывести сумму нечетного и четного числа отдельно.


Добавьте два числа с помощью цикла (не используйте оператор +).

 
<тело>
 
<форма>

 Введите первый номер 
Введите второй номер

Вывод
Сумма заданных чисел=1000
Введите первое число
Введите второе число

В приведенном выше примере
Сначала мы создаем HTML-скрипт для ввода данных от пользователей.
, когда пользователь вводит значение и нажимает кнопку, значение перенаправляется на страницу сценария PHP. $_GET[] используется для сбора значения, введенного пользователем.
Теперь проверим сумму. но сумма генерируется с использованием оператора (+).