J'ai expérimenté avec le modèle Modifié pré-commande Tree Traversal, mon code de test retourne les résultats comme prévu, mais je suis ayant des problèmes pour convertir le tableau 2D en multi- tableau dimensionnel pour le présenter.Trier le jeu de résultats MPTT dans un tableau multidimensionnel PHP
Voici un exemple d'un résultat de menu à 3 niveaux, je dois convertir en un tableau multidimensionnel afin que je puisse itérer dans TAL:
Array
(
[0] => Array
(
[CategoryID] => 1
[ParentID] => 0
[CategoryName] => Default Parent
[lt] => 1
[rt] => 14
[tree_depth] => 1
)
[1] => Array
(
[CategoryID] => 8
[ParentID] => 1
[CategoryName] => SysAdmin
[lt] => 2
[rt] => 7
[tree_depth] => 2
)
[2] => Array
(
[CategoryID] => 2
[ParentID] => 8
[CategoryName] => Linux
[lt] => 3
[rt] => 4
[tree_depth] => 3
)
[3] => Array
(
[CategoryID] => 3
[ParentID] => 8
[CategoryName] => Windows
[lt] => 5
[rt] => 6
[tree_depth] => 3
)
[4] => Array
(
[CategoryID] => 5
[ParentID] => 1
[CategoryName] => Code
[lt] => 8
[rt] => 13
[tree_depth] => 2
)
[5] => Array
(
[CategoryID] => 6
[ParentID] => 5
[CategoryName] => PHP
[lt] => 9
[rt] => 10
[tree_depth] => 3
)
[6] => Array
(
[CategoryID] => 7
[ParentID] => 5
[CategoryName] => Perl
[lt] => 11
[rt] => 12
[tree_depth] => 3
)
)
J'ai besoin de structurer les données afin de chaque parent a une clé 'Children' qui est un tableau de tableaux répété, sans limitation sur le nombre d'enfants qu'un parent/enfant/petit-enfant peut avoir, la clé tree_depth est élaborée automatiquement par le SGBD, donc je dois simplement modifier la structure du tableau.
Tous les pointeurs grandement appréciés, j'ai joué avec usort() et array_walk_recursive en vain.
Merci à l'avance
parfait, autre qu'une petite faute de frappe: if (isset (ref $ [$ d [ 'ParentID']]) { devrait être: if (isset (ref $ [$ d [ 'ParentID' ]])) { Merci beaucoup –
okay, fixe typo. –