/**
* 递归加引用实现无限极分类
* @param $items
* @return array
*/
public function getTree2($items)
{
$array = [];
foreach ($items as $item)
{
if(isset($items[$item['pid']]))//拿到pid
{//放到里面
$items[$item['pid']]['son'][] = &$items[$item['id']];
}else {
$array[] = &$items[$item['id']];
}
}
return $array;
}
$array = array(
array('id' => 1, 'pid' => 0, 'name' => '河北省'),
array('id' => 2, 'pid' => 0, 'name' => '北京市'),
array('id' => 3, 'pid' => 1, 'name' => '邯郸市'),
array('id' => 4, 'pid' => 2, 'name' => '朝阳区'),
array('id' => 5, 'pid' => 2, 'name' => '通州区'),
array('id' => 6, 'pid' => 4, 'name' => '望京'),
array('id' => 7, 'pid' => 4, 'name' => '酒仙桥'),
array('id' => 8, 'pid' => 3, 'name' => '永年区'),
array('id' => 9, 'pid' => 1, 'name' => '武安市'),
);
Array
(
[1] => Array
(
[id] => 1
[pid] => 0
[name] => 河北省
[children] => Array
(
[0] => Array
(
[id] => 3
[pid] => 1
[name] => 邯郸市
[children] => Array
(
[0] => Array
(
[id] => 8
[pid] => 3
[name] => 永年区
)
)
)
[1] => Array
(
[id] => 9
[pid] => 1
[name] => 武安市
)
)
)
[2] => Array
(
[id] => 2
[pid] => 0
[name] => 北京市
[children] => Array
(
[0] => Array
(
[id] => 4
[pid] => 2
[name] => 朝阳区
[children] => Array
(
[0] => Array
(
[id] => 6
[pid] => 4
[name] => 望京
)
[1] => Array
(
[id] => 7
[pid] => 4
[name] => 酒仙桥
)
)
)
[1] => Array
(
[id] => 5
[pid] => 2
[name] => 通州区
)
)
)
)