我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

 lyk625358

<?php
header('content-type:text/html;charset=utf-8');

echo "<pre>";
//-无限级排序,自己优化改良的,清除上次调用此函数后留下的静态变量的值

$arr = array(
    array('id'=>2,'cname'=>'分类2','parent_id'=>1),
    array('id'=>9,'cname'=>'分类9','parent_id'=>8),
    array('id'=>1,'cname'=>'分类1','parent_id'=>0),
    array('id'=>7,'cname'=>'分类7','parent_id'=>0),
    array('id'=>3,'cname'=>'分类3','parent_id'=>2),
    array('id'=>4,'cname'=>'分类4','parent_id'=>0),
    array('id'=>6,'cname'=>'分类6','parent_id'=>5),
    array('id'=>8,'cname'=>'分类8','parent_id'=>7),
    array('id'=>5,'cname'=>'分类5','parent_id'=>4)
);

// 根据子类id 找所有父类
function _getParent($data, $son_id, $level=0, $isClear=true){
    //声明一个静态数组存储结果
    static $res = array();
    //刚进入函数要清除上次调用此函数后留下的静态变量的值,进入深一层循环时则不要清除
    if($isClear==true) $res =array();
    foreach ($data as $v) {
        if($v['id'] == $son_id){
            $v['level'] = $level;
            $res[] = $v;
            _getParent($data, $v['parent_id'], $level-1, $isClear=false);
        }
    }
    return $res;
}

print_r(_getParent($arr, 6));
echo "<hr color='red'>";
// 根据父类id找所有子类
function _getSon($data, $p_id=0, $level=0, $isClear=true){
    //声明一个静态数组存储结果
    static $res = array();
    //刚进入函数要清除上次调用此函数后留下的静态变量的值,进入深一层循环时则不要清除
    if($isClear==true) $res =array();
    foreach ($data as $v) {
        if($v['parent_id'] == $p_id){
            $v['level'] = $level;
            $res[] = $v;
            _getSon($data, $v['id'], $level+1, $isClear=false);
        }
    }
    return $res;
}

print_r(_getSon($arr, 0));
echo "<hr color='red'>";
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为1000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设网站改版百度优化、名注册、主机空间、手机网站建设公众号开发小程序制作、网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线: 13820372851,我们会详细为你一一解答你心中的疑难。项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13820372851

上班时间

周一到周五

公司电话

022-26262675

二维码
线
在线留言