欢迎光临
感谢一路有你

一个无限极分类的函数

<?php
    /**
    * $data          原始数据(二维数组)
    * $parent_key    原始数据父级字段
    * $child_key     生成子集的字段
    */
    function treeArray($data,$parent_key,$child_key){
        $tree = [];
        foreach ($data as $key => $val) {
            if ($val[$parent_key] == 0) {
                $tree[] = &$data[$key];
            } else {
                $data[$val[$parent_key]][$child_key][] = &$data[$key];
            }
        }
        return $tree;
    }

    $data = [
        ['id'=>1,'pid'=>0,'name'=>1],
        ['id'=>2,'pid'=>0,'name'=>2],
        ['id'=>3,'pid'=>1,'name'=>3],
        ['id'=>4,'pid'=>2,'name'=>4],
        ['id'=>5,'pid'=>3,'name'=>5],
        ['id'=>6,'pid'=>4,'name'=>6],
        ['id'=>7,'pid'=>5,'name'=>7],
        ['id'=>8,'pid'=>6,'name'=>8],
    ];
    $tree = treeArray(array_column($data,null,'id'), 'pid','child');
    print_r($tree);
?>
赞(0) 打赏
未经允许不得转载:王明昌博客 » 一个无限极分类的函数
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

隐藏
变装