Есть ли ограничение на глубину рекурсии ф-ций в php5?

golikov

Новичок
Есть ли ограничение на глубину рекурсии ф-ций в php5?

Я тестировал на следующем:

PHP:
<?

function test($i)
{
    echo $i." ";
    test($i+1);
}

test(0);

?>
[php]

Этот пример выводит примерно следующее 0 1 2 .... 5900
Т.е. примернор на 6000 рекурсивных вызовах скрипт останавливается без объяснения причин.

Я пишу парсер и мне необходима глубокая рекурсия. Не исключено что потребуется глубина ~10 000 - 20 000. Позволяет ли PHP такое или мне стоит пересмотреть алгоритм?

Спасибо.
 

Solid

Drosera anglica
golikov
Что за парсер вы пишите?
Как уже сказали выше: глубина рекурсии определяется исключительно размерами разрешённой памяти.
 

golikov

Новичок
Парсер XQuery.
Думаю стоит отказаться от рекурсии.

А почему я не получаю сообщение о том что память кончилась?
 

golikov

Новичок
Фанат, что значит научиться пользоваться рекурсией? Не устраивать большую глубину?
 

Tor

Новичок
умение пользоваться не характеризуется глубиной
разве это не очевидно?
 

Фанат

oncle terrible
Команда форума
golikov, объясни нам, откуда у тебя берётся такая глубина?
я даже предположить не берусь - как её такую можно получить-то? при парсинге хмл-я. Откуда там больше 10 возьмётся-то?
 

golikov

Новичок
Тор, не очевидно. Я не понимаю как мне научиться пользоваться рекурсией. Большая рекурсия - это плохо всегда?
 
Сверху