递归获取所有下级

来源:互联网 发布:手机屏幕校准软件 编辑:程序博客网 时间:2024/06/04 17:47
<?php$data = [['uid' => 1,'username' => '155','parent_username' => '0'],['uid' => 2,'username' => '186','parent_username' => '155'],['uid' => 3,'username' => '189','parent_username' => '186'],['uid' => 4,'username' => '188','parent_username' => '155'],['uid' => 5,'username' => '187','parent_username' => '188'],['uid' => 6,'username' => '1898','parent_username' => '146'],];/** * 获取所有下级 * [getTree description] * @param  [type] $data            [description] * @param  string $parent_username [description] * @return [type]                  [description] *///有层次,返回所有下级数据function getTree($data, $parent_username = '0'){    $arr = [];foreach($data as $key => $val){if($val['parent_username'] == $parent_username){$val['children'] = getTree($data, $val['username']);$arr[] = $val;}}return $arr;}//无层次,仅返回idfunction getTree($data, $parent_username = '0', $is_first_time = true){    static $arr = [];    if ($is_first_time) {        $arr = [];    }    foreach ($data as $key => $val) {        if ($val['parent_username'] == $parent_username) {            $arr[]           = $val['uid'];            getTree($data, $val['username'], false);        }    }    return $arr;}echo '<pre>';print_r(getTree($data));?>

原创粉丝点击