generateTree($data){
$refer = [];//临时数组
$tree = [];//树状结构
$list = [];//二维带level
foreach ($data as $key => $value) {
$refer[$value['id']] = &$data[$key];
}
foreach ($data as $k => $v) {
if (isset($refer[$v['pid']])) {
$pack = &$refer[$v['pid']];
$pack['children'][] = &$data[$k];
}
else
{
$tree[] = &$data[$k];
}
}
return $tree;
}
$items = array(
array('id' => 1, 'pid' => 0, 'name' => '安徽省'),
array('id' => 2, 'pid' => 0, 'name' => '浙江省'),
array('id' => 3, 'pid' => 1, 'name' => '合肥市'),
array('id' => 4, 'pid' => 3, 'name' => '长丰县'),
array('id' => 5, 'pid' => 1, 'name' => '安庆市'),
);
print_r(generateTree($items));
原创文章,作者:代码加工厂,如若转载,请注明出处:http://blog.lingj.net/2022/10/18/268.html