J'utilise PHP et j'ai besoin d'aide pour une tâche apparemment simple avec un tableau.Algorithme de création de tableau multidimensionnel
Ceci est mon tableau par exemple:
$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'
);
Les clés du tableau représentent les ID (unique).
Les valeurs sont parentID, c'est-à-dire l'ID du "nœud" parent. NULL
signifie qu'il n'y a aucun parentID (c'est-à-dire 1ère dimension du nouveau tableau).
Maintenant, j'ai besoin de créer un nouveau tableau multi-dimensionnel qui a tous les éléments enfants sous leurs ID parents. (Cela semble probablement très déroutant, désolé pour mon manque de capacités descriptives.Il y a un exemple ci-dessous, qui devrait rendre les choses plus claires)
Voici à quoi ressemblerait le nouveau tableau de mon exemple après la fonction de "tri", ou peu importe vous appelez cela, a été appliqué:
$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() ) );
Je connais tous les s de tableau vide() ne sont probablement pas une solution très propre et élégante, mais malheureusement, c'est la façon dont je besoin d'être!
dupliquer de http://stackoverflow.com/questions/4196157/create-array-tree-from-array-list – stillstanding
C'est en fait légèrement différent de mon problème, mon format est différent. – user367217