php无限级分类算法

function subtree($arr,$id=0,$lev=1) {
    $subs = array(); // 子孙数组
    foreach($arr as $v) {
        if($v['pid'] == $id) {
            $v['lev'] = $lev;
            $subs[] = $v; // 举例说找到array('id'=>1,'name'=>'安徽','parent'=>0),
            $subs = array_merge($subs,subtree($arr,$v['id'],$lev+1));
        }
    }
    return $subs;
}
$tree = subtree($res,0,1);
foreach ($tree as $v ) {
    echo str_repeat(' |- ',$v['lev']),$v['name'],'<br />';  //str_repeat — 重复一个字符串
}

你可能感兴趣的:(php无限级分类算法)