for и while. foreach перебирает массивы, а бесконечных массивов в php нет. Хотя попробуй вот что:
$a=array(1);
foreach ($a as $b)
$a[]=1;
Глядишь, тоже бесконечно получится, но я не могу так вот сразу сказать, пересчитывает ли он массив на каждой итерации или берёт его в момент запуска цикла и больше не проверяет.
В общем, если мой пример проработает дольше двух секунд, то все три цикла могут работать бесконечно.
Ладно, мне интересно стало, я сам проверил, не прокатил такой вариант :)
Кто не думает, что for может выполняться долго, пусть запустит for ($i=0; $i == 0; ) и серьёзно подумает над своими познаниями в php. А я пока подумаю, нельзя ли заставил foreach работать подольше.
На счёт того как выставить бесконечное выполнение: max_execution_time = 0
А вот и пример бесконечного foreach
$a = array(1);
$c = &$a;
foreach ($c as $b)
$c[]=1;
Так что ответ такой: все три цикла могут выполняться бесконечно. Для двух я уже привёл примеры, while сам осилишь, я надеюсь.
Другие языки программирования и технологии
Какой цикл может продолжаться бесконечно долго for\foreach\while ? (PHP) И почему?
Только while может работать по-настоящему бесконечно.
Обрыв бесконечного цикла по таймауту не делает его менее бесконечным.
Никакой. По умолчанию в настройках php таймаут исполнения скрипта 30 сек. Если вам удастся выставить бесконечное значение, то это будет прорывом в скриптовых технологиях.
Похожие вопросы
- for и while всегда обрабатывают формулы? С++
- С++, Чем отличаеться цикл for, от while?
- for or while?c++
- HTML отображается, а PHP нет, почему? я только начинаю работать с PHP. Прошу сильно не пинать!
- for и while Преимущества и недостатки каждого в той или иной ситуации?
- Рекурсия поиск на Delphi в цикле WHILE - исправьте код ?
- Написал небольшую программу, не могу понять почему не работает цикл while и оператор else
- решите, пожалуйста, задачу на языке с с помощью циклов (for, while, do...while)
- Сколько всего существует еще циклов, кроме for, while, do while ???
- PHP foreach($this->arFields as $name=>$structure)