Подкиньте кто-нибудь хорошие примеры того, где без рекурсии не обойтись (ну или хотя бы где она на много сокращает код).
Желательно примеры не надуманные, а встречающиеся.
Помогите, если кто с этим знаком
Спустя 3 минуты, 26 секунд (7.08.2011 - 16:37) Winston написал(а):
Не дальше чем здесь нужна была рекурсия
чтобы собрать все значения id_friend через ,
то есть на выходе получить 29,30 строку.
Вот и задачка
Array ( [0] => Array ( [id_friend] => 29 ) [1] => Array ( [id_friend] => 30 ) )
чтобы собрать все значения id_friend через ,
то есть на выходе получить 29,30 строку.
Вот и задачка
Спустя 20 минут, 7 секунд (7.08.2011 - 16:57) VolDroN написал(а):
мм.. спасибо
Спустя 6 минут, 54 секунды (7.08.2011 - 17:04) Invis1ble написал(а):
Пример рекурсии на практике, пишем ф-цию для обхода дерева файловой системы:
function getAllFiles($dir, &$files)
{
$items = scandir($dir);
foreach ($items as $item)
{
if ($item != '.' && $item != '..')
{
if (is_dir(ROOT . $item))
getAllFiles(ROOT . $item, $files); // запускаем функцию рекурсивно для обхода вложенных директорий
else
$files[] = $item;
}
}
return $files;
}
define('ROOT', dirname(__FILE__) . '/');
$dir = ROOT;
$files = array();
$files = getAllFiles($dir, $files);
echo '<pre>'; print_r($files); echo '</pre>';
Спустя 4 минуты, 5 секунд (7.08.2011 - 17:08) VolDroN написал(а):
с файлами разбираться мне только предстоит, не когда этим не занимался, но спасибо, сохраню у себя
Спустя 1 час, 12 минут, 28 секунд (7.08.2011 - 18:21) waldicom написал(а):
Наряду с созданием дерева каталогов существует еще один стандартный пример рекурсии - вычисление факториала. Его, кстати, часто используют в учебниках.
function nfact($n){
if ($n == 0){
return 1;
} else {
return $n * nfact($n - 1);
}
}
echo nfact(5) ;