递归,无限极分类的两种方法

$this ->GetTree( $cate , ‘’ , ‘’,‘’ );
public function make_tree1( $list , $pk = 'id' , $pid = 'pid' , $child = '_child' , $root = 0 ){
$tree = array ();
foreach ( $list as $key => $val ){
if ( $val [ $pid ]== $root ){
//获取当前$pid所有子类
unset ( $list [ $key ]);
if (! empty ( $list )){
$child = $this ->make_tree1( $list , $pk , $pid , $child , $val [ $pk ]); //来来来 递归 空

if (! empty ( $child )){
$val [ '_child' ]= $child ;
}
}
$tree []= $val ;
}
}
return $tree ;
}

$a = $this ->GetTree( $cate , 0 , 0 );
private function GetTree( $arr , $pid , $step ){
global $tree ;
foreach ( $arr as $key => $val ) {
if ( $val [ 'parent' ] == $pid ) {
$flg = str_repeat ( '└―' , $step );
$val [ 'business_name' ] = $flg . $val [ 'business_name' ];
$tree [] = $val ;
$this ->GetTree( $arr , $val [ 'business_id' ] , $step + 1 );
}
}
return $tree ;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值