php根据分类生成网址,php 无限分类 并生成树状图

$yArr = array(

1 => array('id'=>'1','parentid'=>0,'name'=>'一级栏目一'),

2 => array('id'=>'2','parentid'=>0,'name'=>'一级栏目二'),

3 => array('id'=>'3','parentid'=>1,'name'=>'二级栏目一'),

4 => array('id'=>'4','parentid'=>1,'name'=>'二级栏目二'),

5 => array('id'=>'5','parentid'=>2,'name'=>'二级栏目三'),

6 => array('id'=>'6','parentid'=>3,'name'=>'三级栏目一'),

7 => array('id'=>'7','parentid'=>3,'name'=>'三级栏目二'),

8 => array('id'=>'8','parentid'=>2,'name'=>'二级栏目三'),

);

/**

* 获取当前id的子ID

* @param array $data 原始数组

* @param int $id 当前id

* @param int $layer 当前层级

*/

function genCate($data, $pid = 0, $level = 0)

{

$l = str_repeat("    ", $level);

$l = $l.'└';

static $arrcat = array();

$arrcat = empty($level) ? array() : $arrcat;

foreach($data as $k => $row)

{

/**

* 如果父ID为当前传入的id

*/

if($row['parentid'] == $pid)

{

//如果当前遍历的id不为空

$row['name'] = $l.$row['name'];

$row['level'] = $level;

$arrcat[] = $row;

//var_array($arr);

genCate($data, $row['id'], $level+1);//递归调用

}

}

return $arrcat;

}

$carr = genCate($yArr);

echo "";

foreach($carr as $row)

{

echo "";

echo $row['name'];

echo "";

}

echo "";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值