PHP для новичков: циклы for, while и do while

Что такое циклы?

Циклы — специальные конструкции, позволяющие многократно выполнять код. Количество повторов задаётся программистом. В PHP существуют основные типы циклов: for, while и do while.

Цикл for

Цикл for записывается с использованием ключевого слова for, за которым следуют круглые скобки, содержащие три условия:

  1. Инициализация счётчика: Создание переменной и присвоение ей начального значения (например, $i = 0).
  2. Условие продолжения: Условие, определяющее, когда цикл должен завершиться (например, $i < 10).
  3. Шаг изменения: Как изменяется переменная после каждой итерации (например, $i++).
for ($i = 0; $i < 10; $i++) {
  echo $i . "<br>";
}

Этот код выведет числа от 0 до 9. Условия можно изменять, например:

for ($i = 10; $i <= 20; $i++) {
  echo $i . "<br>";
}

Выведет числа от 10 до 20. Или:

for ($i = 100; $i > 20; $i -= 5) {
  echo $i . "<br>";
}

Выведет числа от 100 до 25 с шагом -5.

Цикл while

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

$i = 1;
while ($i <= 10) {
  echo $i . "<br>";
  $i++;
}

Этот код аналогичен предыдущему примеру с циклом for, выводит числа от 1 до 10. Важно избегать бесконечных циклов, например:

$isHouse = true;
while ($isHouse) {
  // Бесконечный цикл!
}

Этот код приведёт к зависанию, так как условие $isHouse всегда истинно.

Цикл do while

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

$i = 100;
do {
  echo $i . "<br>";
} while ($i < 10);

Этот код выведет 100, так как условие $i < 10 ложно, но код внутри do выполнился один раз.

Операторы break и continue

Внутри циклов можно использовать операторы break и continue:

  • break: Полностью прерывает выполнение цикла.
  • continue: Пропускает текущую итерацию и переходит к следующей.

Пример с break:

for ($element = 100; $element > 10; $element /= 2) {
  if ($element < 50) {
    break;
  }
  echo $element . "<br>";
}

Выведет 100 и 50.

Пример с continue:

for ($element = 100; $element > 10; $element /= 2) {
  if ($element % 2 == 0) {
    continue;
  }
  echo $element . "<br>";
}

Выведет только 25, так как остальные числа чётные, и оператор continue пропускает их вывод.

Использование циклов с массивами

Циклы часто используются для обработки массивов. Цикл for удобен для перебора элементов массива по индексу:

$list = [5, 7, 38, 45];
for ($i = 0; $i < count($list); $i++) {
  echo "Индекс: " . $i . ", Значение: " . $list[$i] . "<br>";
}

Для ассоциативных массивов удобнее использовать foreach:

$user = ['name' => 'Alik', 'hobby' => 'football'];
foreach ($user as $key => $value) {
  echo $key . ": " . $value . "<br>";
}

foreach также подходит для обычных массивов:

$arr = [1,2,3,4,5];
foreach ($arr as $value) {
  echo $value . "<br>";
}

В этом уроке мы рассмотрели основные типы циклов в PHP (for, while, do while) и операторы break и continue. Изучение этих конструкций необходимо для эффективной работы с PHP. Практикуйтесь и экспериментируйте с различными условиями и операторами, чтобы закрепить полученные знания.

Что будем искать? Например,программа