电商 三级分类 php,三级分类显示输出怎样实现?

查询好数据使用函数调取,第一个完美支持你的需求,第二个是数据递归存放

$arr = [

0=>['id'=>1,'pid'=>0,'title'=>'标题名称一'],

1=>['id'=>2,'pid'=>0,'title'=>'标题名称一'],

2=>['id'=>3,'pid'=>1,'title'=>'标题名称一'],

3=>['id'=>4,'pid'=>1,'title'=>'标题名称一'],

4=>['id'=>5,'pid'=>2,'title'=>'标题名称一'],

5=>['id'=>6,'pid'=>2,'title'=>'标题名称一'],

6=>['id'=>7,'pid'=>3,'title'=>'标题名称一'],

7=>['id'=>8,'pid'=>3,'title'=>'标题名称一'],

8=>['id'=>9,'pid'=>6,'title'=>'标题名称一'],

9=>['id'=>10,'pid'=>6,'title'=>'标题名称一'],

10=>['id'=>11,'pid'=>2,'title'=>'标题名称一'],

];

$result = foreachd($arr,0);var_dump($result);

function foreachd($arr,$pid,$showpage = '') {

$setpage = 1;

$result = array();

foreach($arr as $key=>$val) {

if($val['pid'] == $pid) {

$setshowpage = $showpage == '' ? $setpage : $showpage.'.'.$setpage;

$arr[$key]['page'] = $setshowpage;

$setpage++;

$setarray = ['page'=>$setshowpage,'title'=>$val['title']];

$result[] = $setarray;

$result = array_merge($result,foreachd($arr,$val['id'],$setshowpage));

}

}

return $result;

}

/*function foreachd($arr,$pid) {

$return = array();

foreach($arr as $val) {

if($val['pid'] == $pid) {

$return[$val['id']]['title'] = $val['title'];

$childrendata = foreachd($arr,$val['id']);

if($childrendata) {

$return[$val['id']]['children'] = $childrendata;

}

}

}

return $return;

}*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值