很好的无限极分类,没事的可以看看!
<?php
header ( 'Content-Type:text/html;charset=utf-8');$data= array(array('cid'=> 26, 'parent_cid'=> 0, 'name'=> '饭'), array('cid'=> 27, 'parent_cid'=> 26, 'name'=> '米饭'), array('cid'=> 28, 'parent_cid'=> 27, 'name'=> '蛋炒饭'), array('cid'=> 29, 'parent_cid'=> 28, 'name'=> '粗茶淡饭'), );//两次循环组装array的树形态functiondata2tree($data, $root= 0, $cid= 'id', $pid= 'pid', $child= '_child') { $tree= array(); $_temp= array(); foreach( $dataas$key=> $val) { $_temp[$val[$cid]] = & $data[$key]; } foreach( $dataas$key=> $val) { $parentId= $val[$pid]; //上级id if($root== $parentId) { //如果上级id 等于根id $tree[] = & $data[$key]; //那么 添加到tree里面 } else{ if(isset ( $_temp[$parentId] )) { $parent= & $_temp[$parentId]; $parent[$child] [] = & $data[$key]; } } } return$tree;}//递归输出数据functionoutput($tree) { foreach( $treeas$v) { echo'<li>', $v['name']; if(isset ( $v['_child'] )) echo'<ul>', output ( $v['_child'] ), '</ul>'; echo'</li>'; }}$tree= data2tree ( $data, 0, 'cid', 'parent_cid');output ( $tree);