PHP无限分类实现

以前实现无限分类都没好好研究过,今天突然来兴趣就随手写了一个递归的无限极分类,希望对大家有借鉴意义!

创新互联建站是一家集网站建设,会宁企业网站建设,会宁品牌网站建设,网站定制,会宁网站建设报价,网络营销,网络优化,会宁网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

1,'name'=>1,'fid'=>0),
            array('id'=>2,'name'=>2,'fid'=>0),
            array('id'=>3,'name'=>3,'fid'=>0),
            array('id'=>4,'name'=>4,'fid'=>1),
            array('id'=>5,'name'=>5,'fid'=>2),
            array('id'=>6,'name'=>6,'fid'=>3),
            array('id'=>7,'name'=>7,'fid'=>4),
            array('id'=>8,'name'=>8,'fid'=>9),
            array('id'=>9,'name'=>9,'fid'=>4)
        );
    /**
     * 无限分类递归函数
     * @param  array  $data 分类信息
     * @param  string  $fid  父类id
     * @param  integer $pad  页面显示的缩进大小
     * @return string       拼接好的菜单(可以根据具体需求做修改)
     */
    function menu(&$data, $fid, $pad=0) {
        if(count($data) < 1) {
            return;
        }
        //拼接字符串
        $str = '';
        foreach ($data as $key => $value) {
            if($value['fid'] == $fid) {
                $str .= str_repeat('   ', $pad);
                $str .= $value['name'].'
'; unset($data[$key]); //递归 $str .= menu($data,$value['id'],$pad+1); } } return $str; } echo menu($data,0); /*结果 1 4 7 9 8 2 5 3 6 */

网站名称:PHP无限分类实现
本文URL:http://hbruida.cn/article/gdchjh.html