我有递归函数。有一个层次结构用户结构。我发送一个用户ID到我的功能,它应该找到这个下面的所有用户。函数返回所有关联用户的数组。我的任务是找到这个用户的级别。php递归级别
例如:
User1
/ \
User2 User3
/ \ \
User4 User5 User6
用户1拥有0级。 用户2,用户3级有1 用户4,用户5,User6有2级 如何,我觉得这在我的递归? 这是我的代码:
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;
}