Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 22.02.2015
Сообщений: 10

Преобразовать многомерный массив в дерево

10.10.2015, 19:17. Показов 2913. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
я столкнулся с такой проблемой, как преобразование массива в дерево.
можете помочь.
спасибо
у index.php
PHP
1
2
3
4
5
6
7
8
9
 <?php
 
$categories = get_cat();
$categories_tree = map_tree($categories);
 
 
 print_arr($categories_tree);      
     
?>
config.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
 
    //распечата массива
    function print_arr($array){
        echo "<pre>" . print_r($array,  true) . "</pre>";
    }
 
    //получение массива категорий
        
        
        function get_cat(){
            
            $query = "SELECT * FROM catalog";
            $res = mysql_query($query);
            
            
            $arr_cat = array();
            while ($row = mysql_fetch_assoc($res)){
                $arr_cat[$row['id']] = $row;
            }
            return $arr_cat;
        }
        
// построение дерева     
 
        function map_tree($dataset) {
            $tree = array();
            
            foreach ($dataset as $id=>&$node) {
                if (!$node['parent']){
                    $tree[$id] =&$node;
                }  else {
                    $dataset[$node['parent']]['childs'][$id]  =&$node;
                }
            }
            return $tree;
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.10.2015, 19:17
Ответы с готовыми решениями:

Преобразовать одномерный массив в многомерный
Что-то никак не соображу как реализовать: Имеется одномерный массив под кодовым название Х :), например: Array ( =&gt; ' ' ...

Преобразовать с троку в многомерный массив
Есть строка вида: Как преобразовать ее в многомерный массив: Заранее спасибо

Добавление массива в многомерный массив (не элемента в многомерный массив)
Доброго времени суток уважаемые форумчане! Столкнулся с такой проблемой: требуется в многомерный массив добавить другой ассоц. массив...

3
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
11.10.2015, 13:02
Что значит в дерево? Как вы хотите чтобы это выглядело?
0
0 / 0 / 0
Регистрация: 22.02.2015
Сообщений: 10
11.10.2015, 13:15  [ТС]
так, как показано в этом уроке https://www.youtube.com/watch?... sHeZO0XXKD
время от 20:00 .
Что за переменная 'parent'?
0
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
12.10.2015, 10:57
Сейчас я на работе, поэтому не могу нормально посмотреть видео. Но там же вроде все доступно написано и пояснено. Делайте так же. Parent - скорее всего ключ массива, а не переменная. Вы можете назвать это ключ как вам угодно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.10.2015, 10:57
Помогаю со студенческими работами здесь

Преобразовать многомерный список цифр так, чтобы шли сначала положительные, а затем отрицательные элементы
Добрый день. Помогите пожалуйста сделать в Scheme: преобразовать многомерный список цифр таким образом чтобы шли сначала положительные, а...

Как добавить строковый массив в многомерный массив типа дабл
Добрый день! Есть такая проблема, никак не получается добавить строковый массив в многомерный массив типа double т.е. double...

Как переписать многомерный массив(матрица) с изменениями в новый массив
Здравствуйте, есть у меня двумерный массив. Если быть точнее то это матрица $maitrix = , //нумерация массивов начинается с 1 ...

Массив: Создайте многомерный массив, содержащий названия музыкальных произведений, организованных по жанрам...
Создайте многомерный массив, содержащий названия музыкальных произведений, организованных по жанрам: ассоциативный массив, в котором имена...

Создайте многомерный массив, содержащий названия книг, организованных по жанрам: ассоциативный массив, в котор
Создайте многомерный массив, содержащий названия книг, организованных по жанрам: ассоциативный массив, в котором имена полей будут разными...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru