PHP获取树状结构,实现无限极分类
function getTree($arr, $pid = 0, $level = 0)
{
//$arr为你查询出的数组
// 检验必须为数组
if (!is_array($arr)) {
return false;
}
$tree = [];
foreach ($arr as $k => $v) {
if ($v['pid'] == $pid) {
$tree[$k] = $v;
$tree[$k]['level'] = $level;
$tree[$k]['children'] = getTree($arr, $v['id'], $level + 1);
}
unset($arr[$k]);
}
return $tree;
}
或者:
function get_tree($arr, $pid=0){
//$arr为你查询出的数组
// 检验必须为数组
if (!is_array($arr)) {
return false;
}
$tree = [];
foreach ($arr as $k => $v) {
if ($v['pid'] == $pid) {
$v['child'] = get_tree($arr, $v['id']);
// 最后一级下没有子级销毁child的
if(empty($v['child'])){
unset($v['child']);
}
$tree[] = $v;
}
}
return $tree;
}