Приветствую. Уверен, что тем кто понимает, это уже довольно намазолившая мозг тема, но не могу заставить перебрать элементы (не папки и файлы, с ними больше примеров и проще).
Я уже написал функцию которая возвращает некий массив из папок (это не те папки что файловая структура) с параметрами типа УРЛ и прочим. И ниже использую ее вызывая как "get_folders".
PHP:
скопировать код в буфер обмена
function recurse($url){
$aaa = get_folders($url, $params);
echo "Не содержит папки";
}else{
foreach($aaa as $p){
echo "URL следующей папки: ".$p['url'];
return recurse($p['url']);
}
}
}
Тобиш функция get_folders возвращает массив который имеет следующий вид и хранит он УРЛы папок по указанному УРЛ:
$aaa[0]['url'] = "некий урл 1"
$aaa[1]['url'] = "некий урл 2"
$aaa[2]['url'] = "некий урл 3"....
В массиве $aaa есть и иные параметры, но они сейчас не играют роли. Этот массив я нигде не храню, он глобально не объявлен, он только возвращается в рекурсивную функцию из функции get_folders. Хотя я и пробовал объявлять, и пробовал его передавать в рекурсии и что только не пробовал %)
В итоге все чего я добился - это то, что рекурсивная функция уходит на 1 уровень вниз и на этом загибается. Так как там нет вложенных папок.
Я читал на этом форуме ответ по аналогичной ситуации, но там случай с папками, и я не совсем понят как это применить на мой случай.
у вас функция recirse ничего не возвращает. вот и вся проблема
(Добавление)
т.е. она возвращает результат работы самой себя, но сама ничего не возвращает, и результат ее работы соответственно пустой (null)
а return recurse($p['url']);? это не то?
точнее я понял уже что это не то, но... эээ как же быть? Она должна вернуть какой то из массивов?
P.S Я просто не пойму. Я проваливаюсь в функцию ниже, но функция выше осталась же в цикле? Логика не совсем ясна.
(Добавление)
[quote=Yamazuki][/quote]
А если я просто уберу return? %)