当前位置: 编程技术>php
php递归方法实现无限分类示例
来源: 互联网 发布时间:2014-10-04
本文导语: php递归方法实现无限分类实例代码。 数组: 代码示例: $items = array( array('id' => 1, 'pid' => 0, 'name' => '一级11' ), array('id' => 11, 'pid' => 0, 'name' => 'www.jb51.net 一级12' ), array('id' => 2, 'pid' => 1, 'name' => '二级21' ), array('id' => 10, '...
php递归方法实现无限分类实例代码。
数组:
代码示例:
$items = array(
array('id' => 1, 'pid' => 0, 'name' => '一级11' ),
array('id' => 11, 'pid' => 0, 'name' => 'www.jb51.net 一级12' ),
array('id' => 2, 'pid' => 1, 'name' => '二级21' ),
array('id' => 10, 'pid' => 11, 'name' => '二级22' ),
array('id' => 3, 'pid' => 1, 'name' => '二级23' ),
array('id' => 12, 'pid' => 11, 'name' => '二级24' ),
array('id' => 13, 'pid' => 12, 'name' => '三级31' ),
array('id' => 9, 'pid' => 1, 'name' => '二级25' ),
);
array('id' => 1, 'pid' => 0, 'name' => '一级11' ),
array('id' => 11, 'pid' => 0, 'name' => 'www.jb51.net 一级12' ),
array('id' => 2, 'pid' => 1, 'name' => '二级21' ),
array('id' => 10, 'pid' => 11, 'name' => '二级22' ),
array('id' => 3, 'pid' => 1, 'name' => '二级23' ),
array('id' => 12, 'pid' => 11, 'name' => '二级24' ),
array('id' => 13, 'pid' => 12, 'name' => '三级31' ),
array('id' => 9, 'pid' => 1, 'name' => '二级25' ),
);
php递归函数:
代码示例:
function formatTree($array, $pid = 0){
$arr = array();
$tem = array();
foreach ($array as $v) {
if ($v['pid'] == $pid) {
$tem = formatTree($array, $v['id']);
//判断是否存在子数组
$tem && $v['son'] = $tem;
$arr[] = $v;
}
}
return $arr;
}
$arr = array();
$tem = array();
foreach ($array as $v) {
if ($v['pid'] == $pid) {
$tem = formatTree($array, $v['id']);
//判断是否存在子数组
$tem && $v['son'] = $tem;
$arr[] = $v;
}
}
return $arr;
}