Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Создание json структуры дерева
Покинул форум
Сообщений всего: 11
Дата рег-ции: Март 2010
Помог: 0 раз(а)
Столкнулся с непосильной для меня задачей. Есть дерево с бесконечным числом уровней, ветвлений и листов, задавать можно например массивом.
Выглядит оно вот так
Но это не то, не знаю как свойства и потомков прописать. К тому же, листьев может быть в глубину сколько угодно, это все будет браться с БД, но пока для отладки можно задать массивом.
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
))))))
json_encode(array(...)) и на выходи получаем нужную строку (Добавление)
чтоб не возникало не нужных мыслей:
входной параметр может быть многомерным массивом!
artlayers
Отправлено: 28 Мая, 2011 - 18:35:50
Новичок
Покинул форум
Сообщений всего: 11
Дата рег-ции: Март 2010
Помог: 0 раз(а)
DlTA пишет:
))))))
json_encode(array(...)) и на выходи получаем нужную строку (Добавление)
чтоб не возникало не нужных мыслей:
входной параметр может быть многомерным массивом!
Да, хорошо, функция знакома, но я не могу сформировать массив необходимой структуры, чтобы его обработать.
Явно придется дополнительно указывать какой узел кому родитель, для корня поставить null. (Добавление)
Дерево всегда может быть разным, иметь разное количество узлов, разное количество потомков у каждого родителя. Единственное что известно о дереве: [номер узла] и [номер узла который является родителем], если это корень, то номер родителя просто null. Узлов может быть хоть 5, хоть 1000.
Покинул форум
Сообщений всего: 105
Дата рег-ции: Май 2011
Помог: 3 раз(а)
artlayers пишет:
Столкнулся с непосильной для меня задачей. Есть дерево с бесконечным числом уровней, ветвлений и листов, задавать можно например массивом.
Выглядит оно вот так
Но это не то, не знаю как свойства и потомков прописать. К тому же, листьев может быть в глубину сколько угодно, это все будет браться с БД, но пока для отладки можно задать массивом.
В php дерево можно реализовать точно так же как и в javascript с помощью массивов:
Покинул форум
Сообщений всего: 11
Дата рег-ции: Март 2010
Помог: 0 раз(а)
Спасибо! Почти так как нужно, но
1) Не могу получить json строку из этого, json_encode выводит {}
2) Если потомков нет, то children желательно не выводить.
Код немножко адаптировал под свою структуру (имена поменял в основном)
Покинул форум
Сообщений всего: 105
Дата рег-ции: Май 2011
Помог: 3 раз(а)
artlayers пишет:
Спасибо! Почти так как нужно, но
1) Не могу получить json строку из этого, json_encode выводит {}
2) Если потомков нет, то children желательно не выводить.
Код немножко адаптировал под свою структуру (имена поменял в основном)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.