PHP 处理无限极分类数据通用方法
在工作中,我们经常会遇到处理多级分类的问题,我们常见的是三级,定义一个字段pid,查询的时候一级一级查询数据数据,这样也是可以解决问题。只是不够灵活,所以就有了无限极,不管有多少级菜单都能很好的快速处理。
下面是PHP中无限极分类的处理方法:
/**
* 处理无限极分类通用方法
*/
public function tree($list=[], $pk='id', $pid = 'pid', $child = '_child', $root = 0): array
{
// 创建Tree
$tree = array();
if(is_array($list)) {
// 创建基于主键的数组引用
$refer = array();
foreach ($list as $key => $data) {
$refer[$data[$pk]] =& $list[$key];
}
foreach ($list as $key => $data) {
// 判断是否存在parent
$parentId = $data[$pid];
if ($root == $parentId) {
$tree[] =& $list[$key];
}else{
if (isset($refer[$parentId])) {
$parent =& $refer[$parentId];
$parent[$child][] =& $list[$key];
}
}
}
}
return $tree;
}
$list:是直接读取数据库数据。给这个方法处理
还没有评论,快来发表第一个评论吧