Искать
Вы превысили запрос на
0 знаков

12. Циклы while и do-while в PHP

Не пройден
7 заданий

Кратко

Основы циклов в PHP

- Циклы начинаются с ключевого слова, указывающего интерпретатору PHP тип цикла.

- Цикл while работает, пока условие в скобках возвращает true.

- Важно увеличивать счётчик, чтобы избежать бесконечного выполнения цикла.

Примеры циклов

- Цикл while используется для вывода чётных чисел.

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

- Перебор индексируемого массива с использованием циклов упрощает манипуляции с элементами массива.

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

Пример (php)
<?php
	$counter = 0; // Переменная счетчик

	while ($counter < 10) { // Цикл будет выполнятся пока переменная 
	                        // $counter меньше чем 10
		echo $counter; // Выводим на экран значения от 0 до 9
		$counter++; // Увеличиваем счетчик 
	}
?> 

Важно

Не забывайте увеличивать счётчик, иначе цикл будет выполняться бесконечно и всё у вас зависнет.

К счетчику не обязательно прибавлять единицу. Давайте для примера выведем только чётные числа:

Пример (php)
<?php
	$counter = 2;

	while ($counter < 10) {
		echo $counter; // Выводим на экран значения 2, 4, 6, 8.
		$counter += 2; // Увеличиваем счетчик 
	}
?> 

Обратный отсчет

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

Пример (php)
<?php
	$counter = 10;

	while ($counter >= 1) {
		echo $counter; // Выводим на экран значения от 10 до 1.
		$counter--; //  Уменьшаем счетчик 
	}
?> 

Цикл do-while

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

Пример (php)
<?php
	do {
		// В этом блоке пишем код, который нужно зациклить
		echo $counter;
		$counter++;
	} while ($counter < 10); // Условие
?> 

Код в этом цикле выводит значение переменной $counter, а затем, используя оператор ++, значение переменной $counter увеличивается на 1.

Поскольку блок кода выполняется перед условием, то вывод переменной $counter и увеличение ее на 1 произойдет по крайней мере один раз.

Если значение переменной $counter равно 3, то в результате мы получим 3456789. Если значение переменной $counter равно 1, то в результате мы получим 123456789.

Перебор индексируемого массива

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

Пример (php)
<?php
	$arr = [1, 2, 3, 4, 5];
	$length = count($arr); // Узнаем длину массива
	$counter = 0; // Создаем счётчик

	while ($counter < $length) {
		print_r($arr[$counter]); // Выведет 1, 2, 3, 4, 5
		$counter++; //  Увеличиваем счётчик 
	}
?> 

Мы создали массив, узнали его длину и создали счётчик, который будет использоваться для обращения к индексам массива. Как вы могли заметить, мы создали слишком много вспомогательных переменных, что не очень удобно. Пока без этого никуда.

Давайте перемножим все значения в массиве $arr:

Пример (php)
<?php
	$arr = [1, 2, 3, 4, 5];
	$length = count($arr);
	$counter = 0;
	$result = 1; // Создали переменную для хранения результата.
	
	while ($counter < $length) {
		$result *= $arr[$counter]; // Умножаем все значения.
		$counter++; //  Увеличиваем счётчик 
	}
	
	echo $result; // Распечатает 120
?> 

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

Задания

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

2. Напишите скрипт, который выводит массив в обратном порядке.

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

4. Напишите код, который считывает список студентов в ассоциативном массиве и выводит их.

5. Найдите произведение целых чисел от 1 до 20.

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

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

Похожие уроки Codebra

@codebra_official
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Пользовательские функции в PHPКурс по PHP
Массивы в PHPКурс по PHP
Переменные, комментарии и типы данных в PHPКурс по PHP
Циклы foreach и for в PHPКурс по PHP
Условная конструкция if-elseif-else в PHPКурс по PHP
Итоги раздела «Самые основы Python»Знакомство с Python
Операторы switch и match в PHPКурс по PHP
Условная инструкция if-elif-else в PythonЗнакомство с Python
Погружение в PythonЗнакомство с Python
Впервые на сайте Codebra?

Извините за это всплывающее окно, меня они тоже раздражают.

Образовательный ресурс codebra.ru полностью посвящен программированию и компьютерной безопасности. Все курсы и уроки находятся на главной странице. Ради интереса можете посмотреть на содержимое курсов по Пентесту Active Directory, Python, HTML и CSS, JavaScript, C++ и другие, размещенные на главной странице.

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

Удачи в обучении!

Закрыть окно