Array et récursivité


Mountain Magazin
WRInaute impliqué
WRInaute impliqué
 
Messages: 598
Inscription: 1 Oct 2004

Array et récursivité

Message le Sam Juil 10, 2010 0:44

Salut,

J'aurais besoin d'un coup de main d'un cador en PHP pour un souci à la mord moi le noeud que j'arrive pas à résoudre. C'est surement tout con, mais je trouve pas.

J'ai une fonction récursive qui récupère les utilisateurs enfants d'un autre User pour les lister. Jusque là tout va bien.

En même temps que je récupère la liste, j'aimerais dessiner l'arbre. Pas de solution pour le faire directement dans la fonction récursive pour diverses raisons (on se fout de savoir pourquoi), je dois donc trouver une autre solution.

Je suis parti là dessus et voici ce que j'obtiens en plaçant tout dans un array() pour l'exploiter plus tard :

Code: Tout sélectionner
Array
(
     //ID
    [107] => Array
        (
            //Parent
            [2] => dede (administrateur)
        )
    [112] => Array
        (
            [2] => hello (administrateur)
        )
    [108] => Array
        (
            [107] => admin (redacteur)
        )
    [109] => Array
        (
            [107] => test (redacteur)
        )
    [110] => Array
        (
            [107] => test2 (redacteur)
        )
    [111] => Array
        (
            [108] => perso (contributeur)
        )
)

dede et hello dépendent de l'utilisateur qui affiche la liste (pas de parent dans le tableau).

On voit ensuite que admin, test et test2 sont les enfants de dede et que perso est lui même un enfant de admin.

Je cherche à mettre au point une fonction pour obtenir quelque chose comme ça :

Code: Tout sélectionner
Array
(
hello (administrateur)
dede (administrateur) => array(
                              admin (redacteur)
                              test (redacteur)
                              test2 (redacteur)=> array(
                                                       perso (contributeur)
                                                  )
                          )
)


Je sais pas si c'est clair, je pense que c'est possible, mais je sèche. En fait j'ai un array() "à plat" et je cherche à lui rendre ses dépendances parent / enfant, pas si simple...

Merci de votre aide.

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités