Я использую PHP, и мне нужна помощь с простой задачей с массивом.Алгоритм для создания многомерного массива
Это мой пример массива:
$arr = array(
0 => NULL,
1 => NULL,
2 => NULL,
3 => NULL,
8 => '2',
9 => '2',
10 => '2',
11 => '2',
12 => '3',
13 => '3',
14 => '8',
15 => '8',
16 => '14',
17 => '14',
18 => '14'
);
Ключи массива представляют собой идентификаторы (уникальный).
Значения: parentIDs, то есть идентификатор родительского «узла». NULL
означает, что нет родительского идентификатора (то есть первого измерения нового массива).
Теперь мне нужно создать новый многомерный массив, который имеет все дочерние элементы под их родительскими идентификаторами. (Возможно, это звучит очень запутанно, извините за отсутствие описательных способностей. Ниже приведен пример, который должен сделать все более ясным)
Вот как выглядит новый массив моего примера после функции «сортировки» или что-то еще вы называете это, был применен:
$arr = array( 0 => array(), 1 => array(), 2 => array( 8 => array( 14 => array( 16 => array(), 17 => array(), 18 => array() ), 15 => array() ), 9 => array(), 10 => array(), 11 => array() ), 3 => array( 12 => array(), 13 => array() ) );
Я все знаю пустой массив() s, вероятно, не очень чистый и элегантное решение, но, к сожалению, это так, как мне нужно, чтобы это было!
дубликат http://stackoverflow.com/questions/4196157/create-array-tree-from-array-list – stillstanding
Это на самом деле немного отличается от моей проблемы, мой формат отличается. – user367217