Подскажите как в массив хэшей {id} {pid} древовидной структуры, добавить для каждого элемента уровень вложенности?
Примечание:
нет, как и так понятно, массив хэшей - слепок с базы. База рекурсию не поддержитвает. Необходимо добавить поле "уровень", вот и хочу сделать это с помощью перла, а потом добавить в базу. никакой сложный pid не нужен
Примечание:
в перле имеем
@dirs
в нём соответственно
$dirs[$i]{id}
$dirs[$i]{pid}
i порядка полляма
Примечание:
то есть как сделать ещё 1 хэш к массиву - $dirs[$i]{level}
саму функцию прошу)
нашел нечто...
sub t {
return $_[1] if ref $_[0] ne 'ARRAY';
t($_[0]->[0], ++$_[1]);
}
но не догоняю...
Примечание:
id - id элемента
pid - id родителя
аськой не пользуюсь...
скайп такой же как и ник тут...
данное дерево имеет название Adjacency List. Быстрое на запись... но для всяких нужд потребовалось знать уровень каждого элемента.
Примечание:
был бы паризнателет=)
Примечание:
прастите, только я не понимаю, зачем всё перегонять в хэш... мне потом данные в базу заносить...
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.