나는 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'
);
배열의 키가 ID를 (고유) 나타낸다.
값은 parentID, 즉 상위 "노드"의 ID입니다. NULL
은 parentID가 없음 (즉, 새 배열의 첫 번째 차원)을 의미합니다.
이제 모든 상위 요소가 상위 ID 아래에있는 새로운 다차원 배열을 만들어야합니다. (이것은 아마도 매우 혼란스럽고, 설명 할 능력이 없다는 것에 유감스럽게 생각합니다. 아래에 예가 있습니다. 더 명확하게해야합니다)
"sorting"함수 나 예제와 같은 새로운 배열이 어떻게 생겼는지 이 전화를 적용했다 :
$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() ) );
내가 모든 빈 배열()의 아마 매우 깨끗하고 우아한 해결책은 아니지만 불행하게도 이것이 내가 그것을해야하는 방법을 알고!
중복의 http://stackoverflow.com/questions/4196157/create-array-tree-from-array-list – stillstanding
사실 내 문제는 내 형식과 약간 다릅니다. – user367217