1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?php $list = array( array('id'=>1,'pid'=>0,'label'=>'亚洲'), array('id'=>2,'pid'=>1,'label'=>'中国'), array('id'=>3,'pid'=>1,'label'=>'韩国'), array('id'=>4,'pid'=>1,'label'=>'日本'), array('id'=>5,'pid'=>2,'label'=>'北京'), array('id'=>7,'pid'=>2,'label'=>'广州'), array('id'=>8,'pid'=>7,'label'=>'天河区'), array('id'=>9,'pid'=>8,'label'=>'珠江新城'), array('id'=>10,'pid'=>3,'label'=>'首尔'), ); $tree = buildTree($list,0); echo json_encode($tree); /** * build tree */ function buildTree($items,$pid = 0){ $tree = array(); foreach($items as $node){ if($node['pid'] === $pid){ $node['children'] = buildTree($items,$node['id']); $tree[] = $node; } } return $tree; } |
效果如下: