На главную

Комментарии

анонимно

Обратная сборка


$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;
}

обратная итеративная сборка путей элементов навигации.
красивый, элегантный код, что характерно - работает быстрее рекурсии
,

← Вернуться к журналу «Радиоволна»

Комментарии

  • Ну вот в том то и касяк, что ты всегда по минуте ждешь пока загорится зеленый, но машин то нет

  • потому что я четко знаю что в себе содержит $nodes
    поэтому и допускаю.
    почему ты стоишь на перекрестке? потому что знаешь что когда отработает красный - загорится зеленый.
    все просто

  • p.s.: я сука не спамер =) просто сайт сука не обновлялся

  • =)))

  • Если ты такой ярый сторонник производительности, то как можешь пускать на неопределенное число шагов цикла while($cparent) выполнение неопределенного числа повторений foreach? По крайней мере их (каждый!!) можно было бы обрезать до первого встречного $cparent c помощью того же while

  • Если ты такой ярый сторонник производительности, то как можешь пускать на неопределенное число шагов цикла while($cparent) выполнение неопределенного числа повторений foreach? По крайней мере их (каждый!!) можно было бы обрезать до первого встречного $cparent c помощью того же while

  • Если ты такой ярый сторонник производительности, то как можешь пускать на неопределенное число шагов цикла while($cparent) выполнение неопределенного числа повторений foreach? По крайней мере их (каждый!!) можно было бы обрезать до первого встречного $cparent c помощью того же while

  • Если ты такой ярый сторонник производительности, то как можешь пускать на неопределенное число шагов цикла while($cparent) выполнение неопределенного числа повторений foreach? По крайней мере их (каждый!!) можно было бы обрезать до первого встречного $cparent c помощью того же while

Новый комментарий

Скрытое сообщение