Радиоволна
RSS
Профиль

bezumnoe.RU
Главная страница
Регистрация
Другие журналы
Форум
29
01/2008

$nodes = $H->getList ('node', null);
$index = Array ();
foreach ($nodes as $node)
{
    $cparent = $node->getParent ();
    $curi = '';
    while ($cparent)
    {
        foreach ($nodes as $cnode)
        {
            if ($cnode->getId () == $cparent)
            {
                $cparent = $cnode->getParent ();
                $curi = $cnode->getPath () . $curi;
            }
        }
    }
    $curi = $curi . $node->getPath ();
    $index[$node->getId ()] = $curi;
}

обратная итеративная сборка путей элементов навигации.
красивый, элегантный код, что характерно - работает быстрее рекурсии
public / 8 комментариев
29.01.2008, 18:28