php递归方法实现无限分类实例
数组代码如下:
<?php $items = array( array( 'id' => 1, 'pid' => 0, 'name' => '一级11' ) , array( 'id' => 11, 'pid' => 0, 'name' => '一级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;
}
?>其中,数组一定要包含id和pid用以指定数组值之间的层级关系.
文章链接:http://www.phprm.com/develop/fs3576.html
随便收藏,请保留本文地址!