我有遞歸函數。有一個層次結構用戶結構。我發送一個用戶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;
}