Вопрос №2808 от пользователя Olga Shcherbakova в уроке «Цикл for», курс «Основы PHP»

Olga Shcherbakova

Простите но не доходит отчего

for ($i = 0; true; $i++); бесконечный. Как пользуются "true"?

5 1

Rakhim D.

Второе выражение (его еще называют "test counter") используется в цикле так: если оно true, то цикл продолжается. Например, вы там можете написать "i < 100", в таком случае цикл будет продолжаться пока i меньше ста, иными словами, пока выражение "i < 100" это истина (true).

Поэтому, если там просто написать true, то цикл будет бесконечным. Потому что true это всегда true :-)

2

Olga Shcherbakova

Большое спасибо.Было непонятно почему ни с чем не сраниваем условие выхода, а оказывается можно и так - "всё что угодно и куда угодно, ты складывай, потом разберёмся"? Интересно бы было на примере где это используется для чего нибудь полезного. upd. да, извините что пользуюсь вашим вниманием, ещё один вопрос - этот цикл не остановится даже когда дойдёт до PHP_INT_MAX?

0

Kirill Mokevnin

Вам достаточно вспомнить первый урок про выражения и инструкции. В грамматике языка, на этой позиции ожидается выражение. А true, 1 + 3, 2 > 5 это все выражения.

2

Петров Дмитрий

`function sumDouble2($start, $end) {

$result = 0;

for($i = $end; $i >= $start; $i -= 2){

    $result += $i * $i;

}
return $result;

}` В таком варианте неправильно потому что получаем итератор уже отминусованный?

1

Hans Zimmer

В таком варианте неправильно потому что, если кол-во чисел последовательности будет нечётным, то ты не попадешь в последовательность, так как начал с конца. Например, последовательность от 3 до 10 предполагает следующий набор чисел 3,4,5,6,7,8,9,10. Правильная отфильтрованная последовательность для вычисления будет 3,5,7,9, у тебя же - 10,8,6,4.

1

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев