Вопрос №2808 от пользователя Olga Shcherbakova в уроке «Цикл for», курс «Основы PHP»
Простите но не доходит отчего
for ($i = 0; true; $i++); бесконечный. Как пользуются "true"?
Второе выражение (его еще называют "test counter") используется в цикле так: если оно true, то цикл продолжается. Например, вы там можете написать "i < 100", в таком случае цикл будет продолжаться пока i меньше ста, иными словами, пока выражение "i < 100" это истина (true).
Поэтому, если там просто написать true, то цикл будет бесконечным. Потому что true это всегда true :-)
Большое спасибо.Было непонятно почему ни с чем не сраниваем условие выхода, а оказывается можно и так - "всё что угодно и куда угодно, ты складывай, потом разберёмся"? Интересно бы было на примере где это используется для чего нибудь полезного. upd. да, извините что пользуюсь вашим вниманием, ещё один вопрос - этот цикл не остановится даже когда дойдёт до PHP_INT_MAX?
Вам достаточно вспомнить первый урок про выражения и инструкции. В грамматике языка, на этой позиции ожидается выражение. А true
, 1 + 3
, 2 > 5
это все выражения.
`function sumDouble2($start, $end) {
$result = 0;
for($i = $end; $i >= $start; $i -= 2){
$result += $i * $i;
}
return $result;
}` В таком варианте неправильно потому что получаем итератор уже отминусованный?
В таком варианте неправильно потому что, если кол-во чисел последовательности будет нечётным, то ты не попадешь в последовательность, так как начал с конца. Например, последовательность от 3 до 10 предполагает следующий набор чисел 3,4,5,6,7,8,9,10. Правильная отфильтрованная последовательность для вычисления будет 3,5,7,9, у тебя же - 10,8,6,4.
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







