PHP递归

2021/6/19 22:28:57

本文主要是介绍PHP递归,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

function recursion($data, $id = 0, $level = 0)
    {
        $list = array();
        foreach ($data as $v) {
            if ($v['pid'] == $id) {
                $v['level'] = $level;
                $v['son'] = $this->recursion($data, $v['id'], $level + 1);
                if (empty($v['son'])) {
                    unset($v['son']);
                }
                array_push($list, $v);
            }
        }
        return $list;
    }
function generateTree($data){
        $items = array();
        foreach($data as $v){
            $items[$v['id']] = $v;
        }
        $tree = array();
        foreach($items as $k => $item){
            if(isset($items[$item['pid']])){
                $items[$item['pid']]['son'][] = &$items[$k];
            }else{
                $tree[] = &$items[$k];
            }
        }
        return $tree;
    }


这篇关于PHP递归的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程