Цикл while
Часть раздела Основы путешествия по PHP на Coddy. Урок 48 из 71.
Хотя цикл for отлично работает, когда вы знаете точное количество итераций, цикл while идеален, когда вы хотите продолжать цикл, пока условие не станет ложным.
Цикл while проверяет своё условие перед каждой итерацией. Если условие истинно, выполняется код внутри. Это продолжается, пока условие не станет ложным.
<?php
$count = 1;
while ($count <= 3) {
echo "Count: $count\n";
$count++;
}
?>Это выводит:
Count: 1
Count: 2
Count: 3Цикл начинается с проверки условия $count <= 3. Поскольку оно истинно, код выполняется и увеличивает $count. Когда $count достигает 4, условие становится ложным и цикл останавливается.
Важно: Всегда убедитесь, что что-то внутри цикла в конечном итоге сделает условие ложным. В противном случае вы создадите бесконечный цикл, который никогда не остановится.
<?php
$total = 0;
$num = 1;
while ($total < 10) {
$total += $num;
$num++;
}
echo $total;
?>Это продолжает добавлять числа, пока общая сумма не достигнет или не превысит 10, затем выводит конечное значение.
Задание
ЛегкоПрочитайте одно целое число из ввода, представляющее целевую сумму.
Используйте цикл while для сложения последовательных чисел, начиная с 1 (1, 2, 3, 4, ...), пока общая сумма не достигнет или не превысит целевую сумму.
Выведите итоговую сумму на первой строке и последнее добавленное число на второй строке.
Пример 1:
Если ввод 10, вывод должен быть:
10
4(1 + 2 + 3 + 4 = 10, что достигает цели)
Пример 2:
Если ввод 15, вывод должен быть:
15
5(1 + 2 + 3 + 4 + 5 = 15)
Пример 3:
Если ввод 7, вывод должен быть:
10
4(1 + 2 + 3 + 4 = 10, что превышает 7)
Попробуйте сами
<?php
// Читаем целевую сумму
$target = intval(fgets(STDIN));
// Инициализируем переменные
$total = 0;
$num = 0;
// TODO: Напишите свой код здесь
// Используйте цикл while для сложения последовательных чисел (1, 2, 3, ...)
// пока общая сумма не достигнет или не превысит цель
// Выводим итоговую сумму и последнее добавленное число
echo $total . "\n";
echo $num;
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы сравнения и логические операторы
Операторы сравненияРавенство и идентичностьЛогические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логика2Переменные и типы данных
ЧислаСтроки и кавычкиБулевы значенияСоглашения об именованииПовторение — инициализация переменныхПустые переменныеКонкатенация строкПолучение пользовательского вводаПриведение к другим типам5Условная логика
Оператор ifIf — ElseТернарный операторОператор нулевого слиянияОператор switchПовторение: принятие решений3Основные операторы
Арифметические операторыОператор остатка от деленияОператор возведения в степеньСоставное присваиваниеИнкремент/декрементПриоритет операторовПовторение — простые вычисленияОператоры строкПотренируйтесь самостоятельно: Онлайн-компилятор PHP