php处理无限极分类数据的两种方式

Posted 心若沉浮 浅笑安然

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php处理无限极分类数据的两种方式相关的知识,希望对你有一定的参考价值。

开发过程中,经常会遇到处理无限分类数据,这里就介绍一下处理无限分类数据的两种方式,有不对的地方,还望多多指正。

//测试数据
$array=array(
    [‘id‘=>1,‘parent_id‘=>0,‘name‘=>1],
    [‘id‘=>2,‘parent_id‘=>0,‘name‘=>2],
    [‘id‘=>3,‘parent_id‘=>1,‘name‘=>3],
    [‘id‘=>4,‘parent_id‘=>1,‘name‘=>4],
    [‘id‘=>5,‘parent_id‘=>3,‘name‘=>5],
    [‘id‘=>6,‘parent_id‘=>3,‘name‘=>6]
);
//递归方式
function recursion($array,$parent_id=0){
    $new=[];
    foreach($array as $k=>$v){
        if($v[‘parent_id‘]==$parent_id){
           $v[‘child‘]=recursion($array,$v[‘id‘]);
            if (!$v[‘child‘]) {
                unset($v[‘child‘]);
            }
            $new[] = $v;
        }
    }
    return $new;
}

//引用
function quote($array){
    $items=array();
    foreach($array as $k=>$v){
       $items[$v[‘id‘]]=$v;
    }
    $tree = array();
    foreach($items as $item){
        if(isset($items[$item[‘parent_id‘]])){
            $items[$item[‘parent_id‘]][‘son‘][] = &$items[$item[‘id‘]];
        }else{
            $tree[] = &$items[$item[‘id‘]];
        }
    }
    return $tree;
}

 

以上是关于php处理无限极分类数据的两种方式的主要内容,如果未能解决你的问题,请参考以下文章

PHP实现无限极分类的两种方式

PHP实现无限极分类的两种方式,递归和引用

php实现无限级分类的两种方式

无限极分类原理与实现(转)

手把手教你用php实现无限极分类功能

无限极分类