Al recuperar una estructura jerárquica de MySQL (tabla con una ID de columna y una columna PADRES significando las relaciones jerárquicas), I Mapa el resultado en una matriz enumerada como sigue (para este ejemplo los números son arbitrarios):Arrays PHP: ¿cómo hacer una matriz unidimensional en una matriz multidimensional anidada?
Array ([3] => Array ([7] => Array()), [7] => Array ([8] => Array()))
El aviso 3 es el padre de 7 y el 7 es el padre de 8 (esto podría seguir y seguir, y cualquier padre podría tener varios hijos).
yo quería reducir esta matriz en una matriz multidimensional anidada de la siguiente manera:
Array ([3] => Array ([7] => Array ([8] => Array())))
Es decir, cada nuevo ID se le asigna automáticamente una matriz vacía. De todos modos, los hijos de cualquier ID serán empujados a la matriz de sus padres.
Tome un vistazo a la siguiente ilustración para mayor aclaración:
alt text http://img263.imageshack.us/img263/4986/array.gif
Esto probablemente se traducirá en una operación recursiva complicado, ya que siempre tengo que comprobar si uno de los padres con cualquier determinado ID ya existe (y si es así, inserte el valor en su matriz).
¿Hay una función de php incorporada que pueda ayudarme con esto? ¿Tienes alguna idea de cómo construir esto? Por lo que vale, estoy usando esto para construir una barra de navegación en wordpress (que puede contener categorías, subcategorías, publicaciones ... esencialmente cualquier cosa).
+1 para los bonitos gráficos :) – Alec