数组无限分类树模型序列化

Posted firebirdweb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组无限分类树模型序列化相关的知识,希望对你有一定的参考价值。

<?php
$array = array(
    array(‘id‘=>‘1‘, ‘name‘=>‘电子产品‘, ‘parent_id‘=>0),
    array(‘id‘=>‘2‘, ‘name‘=>‘电脑‘, ‘parent_id‘=>1),
    array(‘id‘=>‘3‘, ‘name‘=>‘笔记本‘, ‘parent_id‘=>2),
    array(‘id‘=>‘4‘, ‘name‘=>‘台式电脑‘, ‘parent_id‘=>2),
    array(‘id‘=>‘5‘, ‘name‘=>‘食物‘, ‘parent_id‘=>0),
    array(‘id‘=>‘6‘, ‘name‘=>‘蔬菜‘, ‘parent_id‘=>5),
    array(‘id‘=>‘7‘, ‘name‘=>‘白菜‘, ‘parent_id‘=>6),
    array(‘id‘=>‘8‘, ‘name‘=>‘萝卜‘, ‘parent_id‘=>6),
);
class TreeCate 

    function __construct ($data) 
        $this->data = $data;
        $this->array = array();
    

    public function getTree($parent_id = 0)
    
        $tree = [];
        if (count($this->data) > 0) 
            foreach ($this->data as $key => $value) 
                //删除已经序列过的数组
                unset($this->data[$key]);
                if ($value[‘parent_id‘] == $parent_id) 
                    $children = $this->getTree($value[‘id‘]);
                    if (!empty($children)) 
                        //生成子树模型,因为用了递归,从最后一层返回生成
                        $value[‘children‘] = $children;
                    
                    $tree[] = $value;
                

            
            return $tree;
        
    

$tree_cates = new TreeCate($array);
$cates = $tree_cates->getTree();
print_r($cates);

  这里只是生成了树模型数组,具体调用!

以上是关于数组无限分类树模型序列化的主要内容,如果未能解决你的问题,请参考以下文章

无限极分类

js实现无限极分类

无限分类 tree结构生成 -迭代法

创建无限极分类树型结构

无限极分类php实现—查子孙树家谱树

递归分类和树形式分类