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

发布时间:2020-11-08编辑:脚本学堂
分享一个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' ),
);

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;
}