php递归方法实现无限分类实例代码

php递归方法实现无限分类实例代码

这篇文章主要介绍了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' ),

);

函数:

代码如下:

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;

}