J'ai la fonction de récurrence. Il existe une structure d'utilisateurs de hiérarchie. J'envoie un identifiant d'utilisateur à ma fonction et il devrait trouver tous les utilisateurs sous ceci. La fonction renvoie un tableau de tous les utilisateurs associés. Ma tâche consiste à trouver un niveau de ces utilisateurs.Niveau de récursivité php
Par exemple:
User1
/ \
User2 User3
/ \ \
User4 User5 User6
User1 ont le niveau 0. Utilisateur2, Utilisateur3 ont le niveau 1. Utilisateur4, User5, user6 ont le niveau 2. Comment puis-je trouver dans mon récursion? Il est mon code:
private function getAssociates($userId) {
global $generation;
global $usersUnder;
if (!isset($generation)) {
$generation = 1;
}
$userDb = new Lyf_DB_Table('user');
$associatesSelect = $userDb->Select();
$associatesSelect -> from('user', array('id'))->where('enroller_id = ?', $userId);
$associates = $userDb->fetchAll($associatesSelect)->toArray();
if (!empty($associates)) {
foreach ($associates as $associate) {
$usersUnder[$generation] = $associate['id'];
$this->getAssociates($associate['id']);
}
}
return $usersUnder;
}