@Coolam
Web-developer

Почему так долго обрабатывается этот код?

$n = 12;
$k = 0;
while($n > 1){
    $n % 2;
    $k += 1;
}   
echo $k;


Ошибка: Maximum execution time of 60 seconds exceeded in D:\Application\OpenServer\domains\labs\index.php on line 18
Как это исправить?
  • Вопрос задан
  • 753 просмотра
Решения вопроса 1
Stalker_RED
@Stalker_RED
Он не долго обрабатывается, он бесконечный.
12 всегда больше единицы, и while(true) длится вечно. (или пока движок его по таймауту не вырубит)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@tmstork
А где в строке:
$n % 2;
присваивание?

Нет изменений значения переменной $n, соответственно цикл бесконечный, отсюда и ошибка.
Ответ написан
Чтобы код обрабатывался быстрее - установите значение опции:
max_execution_time
на желаемое время в секундах.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы