Ich arbeite an einem Organigramm in PHP, und die Daten werden aus einer Datenbank abgerufen.Durchlaufen einer unbekannten Benutzerebene für ein Organigramm
Ein Beispiel des Organigramms sieht wie folgt aus, aber es hat eine unbekannte Anzahl von Ebenen:
Me
Brandon
David
ein. Amanda
b. Michelle
c. Michael
Robert
ein. Kristen
Charles
Ashley
Traversal-Algorithmen Typ hat meine Schwäche oft, und ich brauche deine Hilfe. Ich habe mit vielen Variationen einer "Traverse" -Funktion experimentiert, die sich selbst nennen würde, aber ich bin noch nicht bei der richtigen Lösung angekommen.
Die temporäre Lösung, die ich gerade habe, ist nur drei Ebenen tief, und Sie können sehen, warum es nicht realistisch ist.
foreach($user->getChildren() as $child) {
echo $child->name;
foreach($child->getChildren() as $ch) {
echo $ch->name;
foreach($ch->getChildren() as $c) {
echo $c->name;
// ... more foreach statements
}
}
}
$user
ist von class User
und $user->getChildren()
enthält eine Reihe von Benutzerobjekten, die $user
als Mutter