PHP 无限级分类实现
PHP 实现菜单,或者树形结构数据时候经常用到的无限级分类,入参多维数据数组输出,输出子父级绑定关系的无限级分类封装。
/** * @description 无限极分类实现 * @author Holyrisk * @date 2021/4/22 22:41 * @param $list 需要被处理的数组 * @param string $pk id * @param string $pid 父级id * @param string $child 子级名称 * @param int $root 顶级分类的值 * @return array */ public function buildTree($list, $pk='id', $pid='pid', $child='children', $root=0){ if (empty($list)){ return []; } $tree = array(); $packData = array(); foreach ($list as $data) { $packData[$data[$pk]] = $data; } foreach ($packData as $key=>$val){ if($val[$pid] == $root){ $tree[] = &$packData[$key]; }else{ $packData[$val[$pid]][$child][] = &$packData[$key]; } } return $tree; }