Estoy usando PHP y necesito ayuda con una tarea aparentemente simple con una matriz.Algoritmo para crear una matriz multidimensional
Este es mi ejemplo de matriz:
$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'
);
Las claves de la tabla representan los identificadores (único).
Los valores son parentIDs, es decir, el ID del "nodo" principal. NULL
significa que no hay parentID (es decir, primera dimensión de la nueva matriz).
Ahora, necesito crear una matriz nueva y multidimensional que tenga todos los elementos secundarios debajo de sus ID principales. (Esto probablemente suene muy confuso, disculpe mi falta de habilidades descriptivas. Hay un ejemplo a continuación, que debería aclarar las cosas)
Así es como se vería la nueva matriz de mi ejemplo después de la función "ordenar", o lo que sea se llama a esto, se aplicó:
$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() ) );
Conozco todos los matriz vacía (s) probablemente no son una solución muy limpia y elegante, pero por desgracia, este es el camino que necesito que sea!
duplicado de http://stackoverflow.com/questions/4196157/create-array-tree-from-array-list – stillstanding
En realidad es un poco diferente de mi problema, mi formato es diferente. – user367217