PHP查询子集菜单、父级(子类找父类,父类找子类)

2020-09-07  本文已影响0人  可乐_加冰_

/**
 * 通过父类ID获取所有的子类
 * @param int $pid 父id
 * @param array $category 分类集合
 * @return array
 */
function recursiveCategory(int $pid,array $category){
    $data = [];
    foreach ($category as $item){
        if($item['pid']==$pid){
            $arr['id'] = $item['id'];
            $arr['name'] = $item['name'];
            $cate = recursiveCategory($item['id'],$category);
            if(!empty($cate)){
                $arr[] =$cate;
            }
            $data[] = $arr;
            unset($arr);
        }
    }
    return $data;
};

/**
 * 通过子类获取所有的父类
 * @param int $childId 子id
 * @param array $category 分类集合
 * @return array
 */
function getCategoryByChild(int $childId,array $category){
    $data = [];
    foreach ($category as $item){
        if($item['id'] == $childId){
            $arr['id'] =$item['id'];
            $arr['name']= $item['name'];
            if($item['pid']!=0){
                $arr[] = getCategoryByChild($item['pid'],$category);
            }
            $data[]=$arr;
        }
    }
    return $data;
}

摘自:https://blog.csdn.net/qq_43443011/article/details/106853756

上一篇 下一篇

猜你喜欢

热点阅读