首先我们会获取一个数组
$list = array(
array('id'=>1, 'fid'=>0, 'title' => '中国'),
array('id'=>2, 'fid'=>1, 'title' => '江苏'),
array('id'=>3, 'fid'=>1, 'title' => '安徽'),
array('id'=>4, 'fid'=>8, 'title' => '江阴'),
array('id'=>5, 'fid'=>3, 'title' => '芜湖'),
array('id'=>6, 'fid'=>3, 'title' => '合肥'),
array('id'=>7, 'fid'=>3, 'title' => '蚌埠'),
array('id'=>8, 'fid'=>8, 'title' => '无锡')
);
foreach ($list as $key=> $item){
$items[$item['id']] = $item;#构造数据使获得的数组的key等于ID
}
foreach ($items as $key=>$item){
if (isset($items[$item['fid']])){
$items[$item['fid']]['son'][] = &$items[$key];
}
else{
$tree[] = &$items[$key];
}
}
echo "<pre>";
print_r($tree);
我们打印出来色数据就如下:
Array
(
[0] => Array
(
[id] => 1
[fid] => 0
[title] => 中国
[son] => Array
(
[0] => Array
(
[id] => 2
[fid] => 1
[title] => 江苏
)
[1] => Array
(
[id] => 3
[fid] => 1
[title] => 安徽
[son] => Array
(
[0] => Array
(
[id] => 5
[fid] => 3
[title] => 芜湖
)
[1] => Array
(
[id] => 6
[fid] => 3
[title] => 合肥
)
[2] => Array
(
[id] => 7
[fid] => 3
[title] => 蚌埠
)
)
)
)
)
)

491

被折叠的 条评论
为什么被折叠?



