Цикл PHP: For, ForEach, While, Do While [Пример]

⚡ Умное резюме

Циклы в PHP повторяют блок кода до тех пор, пока не будет выполнено условие, что устраняет повторяющийся текст.ping и управляет обработкой массивов. В этом пошаговом руководстве рассматриваются четыре типа циклов PHP: for, foreach, while и do-while, с синтаксисом, блок-схемами и рабочим результатом для каждого из них.

  • 🔁 Что делают циклы: Цикл выполняет один и тот же блок кода многократно, пока не будет выполнено его условие, что избавляет от необходимости писать повторяющиеся операторы.
  • 🔢 Для петли: Функция `for` объединяет счетчик, условие и приращение в одной строке, что делает ее идеальной, когда количество итераций известно.
  • 📦 Цикл foreach: Функция foreach перебирает каждый элемент индексированного или ассоциативного массива без ручного счетчика.
  • 🔄 Пока цикл: Цикл while проверяет свое состояние перед каждым проходом, поэтому тело цикла может выполняться ноль раз, если условие изначально ложно.
  • 1️⃣ Цикл Do-While: Цикл do-while проверяет условие после тела блока кода, что гарантирует его выполнение как минимум один раз.
  • 🧭 Выбор цикла: Используйте циклы for и foreach для подсчета и работы с массивами, while для повторений, управляемых условиями, и do-while, когда требуется один гарантированный проход.
  • 🤖 AI-помощь: Инструменты искусственного интеллекта могут рефакторить циклы, преобразовывать циклы for в функции работы с массивами и определять причину бесконечного цикла.

PHP-циклы

Цикл — это итеративная структура управления, которая предполагает выполнение одного и того же блока кода несколько раз до тех пор, пока не будет выполнено определенное условие. PHP поддерживает четыре типа циклов, сравнение которых приведено в таблице ниже.

Loop лучше всего для Состояние проверено Запускается как минимум один раз
для Известное число итераций Перед каждой итерацией Нет
Еогеасп Итерация по элементам массива Для каждого элемента массива Нет
в то время как Повторение до тех пор, пока выполняется условие. Перед каждой итерацией Нет
делать пока Запустил один раз, затем проверил еще раз. После каждой итерации Да

PHP для цикла

Цикл for выполняет блок кода заданное количество раз. Это правильный выбор, если вы заранее знаете, сколько итераций потребуется.

Синтаксис. Он имеет следующий базовый синтаксис.

<?php
for (initialize; condition; increment){

// code to be executed

}
?>

ВОТ,

  • "для…{…}" это блок цикла
  • инициализироватьОбычно это целое число; оно используется для установки начального значения счетчика.
  • "состояние" Это условие проверяется при каждом выполнении PHP-кода. Если оно истинно, то выполнение цикла for продолжается. Если оно ложно, выполнение цикла for завершается.
  • «приращение» используется для увеличения начального значения целочисленного счетчика.

Как это устроено. Приведенная ниже блок-схема иллюстрирует работу цикла for в PHP работ.

PHP для цикла

Как программировать. Приведённый ниже код использует цикл for для вывода значений чисел от 10 до 9, умноженных на 0.

<?php

for ($i = 0; $i < 10; $i++){

$product = 10 * $i;

echo "The product of 10 * $i is $product <br/>";
}

?>

Выход:

The product of 10 * 0 is 0
The product of 10 * 1 is 10
The product of 10 * 2 is 20
The product of 10 * 3 is 30
The product of 10 * 4 is 40
The product of 10 * 5 is 50
The product of 10 * 6 is 60
The product of 10 * 7 is 70
The product of 10 * 8 is 80
The product of 10 * 9 is 90

Цикл Foreach в PHP

Цикл `foreach` в PHP используется для перебора значений массива. Он имеет следующий базовый синтаксис.

<?php
foreach($array_variable as $array_values){

block of code to be executed

}
?>

ВОТ,

  • "для каждого(…){…}" это код блока цикла foreach
  • “$array_variable” это переменная массива, через которую будет проходить цикл
  • “$array_values” Это временная переменная, которая хранит значение текущего элемента массива.
  • «блок кода…» — это фрагмент кода, который работает со значениями массива.

Как это устроено. Приведенная ниже блок-схема иллюстрирует работу цикла foreach.

PHP для каждого цикла

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

<?php

$animals_list = array("Lion","Wolf","Dog","Leopard","Tiger");

foreach($animals_list as $array_values){

echo $array_values . "<br>";

}

?>

Выход:

Lion
Wolf
Dog
Leopard
Tiger

Рассмотрим еще один пример, в котором цикл повторяется. ассоциативный массивАссоциативный массив использует буквенно-цифровые слова в качестве ключей доступа.

<?php

$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

foreach($persons as $key => $value){

echo "$key is $value"."<br>";

}

?>

Имена использовались в качестве ключей массива, а пол — в качестве значений.

Выход:

Mary is Female
John is Male
Mirriam is Female

Цикл While в PHP

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

Когда использовать циклы while

  • Циклы while используются для выполнения блока кода до тех пор, пока определенное условие не станет истинным.
  • Вы можете использовать цикл while для чтения записей, возвращаемых из база данных.

Типы циклов while

  • Делать пока – выполняет блок кода хотя бы один раз перед оценкой условия
  • Пока… – сначала проверяет состояние. Если оно оценивается как true, блок кода выполняется до тех пор, пока условие истинно. Если оно оценивается как false, выполнение цикла while прекращается.

Цикл while. Он имеет следующий синтаксис.

<?php
while (condition){

block of code to be executed;

}
?>

ВОТ,

  • "пока(…){…}" это код блока цикла while
  • "состояние" это условие, которое должно быть оценено циклом while
  • «блок кода…» это код, который будет выполнен, если условие будет выполнено

Как это устроено. Приведенная ниже блок-схема иллюстрирует работу цикла while.

Пока цикл

Практический пример. Приведённый ниже код использует цикл while для вывода чисел от 1 до 5.

<?php

$i = 0;

while ($i < 5){

echo $i + 1 . "<br>";

$i++;

}

?>

Выход:

1
2
3
4
5

Цикл Do While в PHP

Разница между циклом while и циклом do-while заключается в том, что цикл do-while выполняется как минимум один раз перед проверкой условия.

Теперь давайте рассмотрим базовый синтаксис цикла do-while.

<?php
do{

block of code to be executed

} while(condition);
?>

ВОТ,

  • "делать пока(…)" это код блока цикла dowhile.
  • "состояние" это условие, которое должно быть оценено циклом while
  • «блок кода…» Это код, который выполняется как минимум один раз циклом do-while.

Как это устроено. Приведенная ниже блок-схема иллюстрирует работу цикла do-while.

PHP делать пока

Практический пример. Теперь мы изменим пример с циклом while и реализуем его с помощью цикла do-while, установив начальное значение счетчика равным 9.

Приведённый ниже код реализует изменённый пример, приведённый выше.

<?php

$i = 9;

do{

echo "$i is"." <br>";

}
while($i < 9);

?>

Приведенный выше код выводит:

9

ВниманиеВ приведенном выше примере выводится только 9. Это происходит потому, что цикл do-while выполняется как минимум один раз, даже если условие установки оценивается как ложное.

Часто задаваемые вопросы (FAQ)

Да. Используйте функцию array_reverse() с циклом foreach для обхода элементов в обратном порядке, или используйте цикл for, который начинается с count($array) – 1 и уменьшается до нуля по индексу.

Оператор break принимает число, поэтому break 2; одновременно завершает как внутренний, так и внешний цикл. Это более удобный способ, чем использование переменной-флага для остановки внешнего цикла.

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

Да. Искусственный интеллект может обнаруживать повторяющиеся действия внутри цикла, предлагать вынести их за его пределы и заменять циклы, выполняемые вручную, функциями работы с массивами, такими как array_map или array_filter, там, где они делают код более понятным.

Да. Искусственный интеллект может переписать цикл for, основанный на индексах, в цикл foreach при обходе массива или в array_map или array_sum, когда цикл просто преобразует или суммирует значения. Проверьте результат после этого.

Подведем итог этой публикации следующим образом: