arrays - php recursion level -
i have recursion function. there hierarchy users structure. send user id function , should find user under this. function returns array of associates users. task find levels of users.
for example:
        user1        /    \     user2   user3    /    \    \  user4 user5  user6   user1 have level 0. user2, user3 have level 1. user4, user5, user6 have level 2. how can find in recursion? 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 $associate) {             $usersunder[$generation] = $associate['id'];             $this->getassociates($associate['id']);         }     }     return $usersunder; }      
add parameter getassociates() function:
private function getassociates($userid, $level = 0) {   and when you're processing level of tree, store $level rest of user data, recurse function with:
$this->getassociates($associate['id'], $level + 1);   and when call function start process, pass in 0 $level, or leave blank , let php assign default (also 0).
Comments
Post a Comment