php很好的无现分类

很好的无限极分类,没事的可以看看!

<?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);


打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论