Forum Webscript.Ru
Программирование => PHP => Тема начата: CGVictor от 09 Августа 2004, 13:06:52
-
Ситуация такая: по ходу работы скрипта нужно много раз вкладывать циклы перебора массива.
[off]foreach($a as $b) {fname($b);};
function fname($b) {foreach($b as $c){...;} и т.д., циклы разные (foreach, for, while...).[/off]
И вот: после вложения этак двадцатого переборы просто не выполняются. То есть один раз вызывается, и переходит дальше по программе.
Что это? Как бороться?
-
$mas[1]=2;
for($i=1;$i<30;$i++)
$mas[1]=$mas;
fname($mas);
function fname($b) {
foreach($b as $c){
if(is_array($c)) fname($c);
else echo $c;
}};
Как видеш он и до 30 этажа доходит(я даже 60 брал всеравно работает), мне кажется у тебя проблема с тем сколько ты можеш резервировать памени на сервере, 20-ти мерный масивчик нечго себе что задумал :-).
Как боротся? попробуй както его разбить, или записать в фаил и работать по кускам.
-
Kneaz
Да, похоже, это мое личное.. :)
Сейчас переписал по-другому - работает. Что и требовалось...
Kneaz:
20-ти мерный масивчик нечго себе что задумал :-).
На самом-то деле измерений всего девять, но там рекурсивная обработка :)
[off]Естественно, на сервер в Инете я это пихать не буду[/off]