Array
(
[0] => Array
(
[id] => 1
[name] => 大分类
[parentid] => 0
[child] => Array
(
[0] => Array
(
[id] => 2
[name] => 大分类的子分类1
[parentid] => 1
[child] => Array
(
) ) [1] => Array
(
[id] => 3
[name] => 大分类的子分类2
[parentid] => 1
[child] => Array
(
[0] => Array
(
[id] => 7
[name] => 大分类的子分类2的子分类1
[parentid] => 3
[child] => Array
(
) ) [1] => Array
(
[id] => 8
[name] => 大分类的子分类2的子分类2
[parentid] => 3
[child] => Array
(
) ) ) ) [2] => Array
(
[id] => 4
[name] => 大分类的子分类3
[parentid] => 1
[child] => Array
(
[0] => Array
(
[id] => 6
[name] => 大分类2的子分类
[parentid] => 4
[child] => Array
(
) ) ) ) ) ) [1] => Array
(
[id] => 5
[name] => 大分类2
[parentid] => 0
[child] => Array
(
) ))
是这样吗?
不过你的name与id、parentid不配套
(
[0] => Array
(
[id] => 1
[name] => 大分类
[parentid] => 0
[child] => Array
(
[0] => Array
(
[id] => 2
[name] => 大分类的子分类1
[parentid] => 1
[child] => Array
(
) ) [1] => Array
(
[id] => 3
[name] => 大分类的子分类2
[parentid] => 1
[child] => Array
(
[0] => Array
(
[id] => 7
[name] => 大分类的子分类2的子分类1
[parentid] => 3
[child] => Array
(
) ) [1] => Array
(
[id] => 8
[name] => 大分类的子分类2的子分类2
[parentid] => 3
[child] => Array
(
) ) ) ) [2] => Array
(
[id] => 4
[name] => 大分类的子分类3
[parentid] => 1
[child] => Array
(
[0] => Array
(
[id] => 6
[name] => 大分类2的子分类
[parentid] => 4
[child] => Array
(
) ) ) ) ) ) [1] => Array
(
[id] => 5
[name] => 大分类2
[parentid] => 0
[child] => Array
(
) ))
是这样吗?
不过你的name与id、parentid不配套
$num=count($a);
print_r($a);
getchild('0');
function getchild($parentid) {
global $num,$a;
for($i=0;$i<=$num;$i++)
{ //echo $a[$i]['id'];
if($a[$i]['parentid']==$parentid) {
echo $a[$i]['name']."<br>";
getchild($a[$i]['id']);
}
}
}
'id'=>'6',
'name'=>"大分类2的子分类",
'parentid'=>'5',
),
$array=array(array(1,0,'AAAA'),
array(2,1,'BBBB'),
array(3,1,'CCCC'),
array(4,1,'DDDD'),
array(5,2,'EEEE'),
array(6,2,'FFFF'),
array(7,5,'GGGG'),
array(8,5,'HHHH'),
array(9,7,'IIII'),
array(10,9,'JJJJ'),
array(21,3,'LLLL'),
array(22,21,'MMMM'),
array(23,22,'NNNN'),
array(24,21,'OOOO'),
array(25,23,'PPPP'),
array(26,24,'QQQQ')
);
function listTree($array,$id,$parent,$title,$start,$nbsp){
$pre="";
for ($i=0; $i<=$nbsp; $i++) {
$pre.=" ";
}
if($parent==0) echo $title."<br/>\n"; for($i=$start;$i<sizeof($array);$i++){
if($array[$i][1]==$id){
echo $pre.$array[$i][2] ."<br/>\n";
listTree($array,$array[$i][0],$array[$i][1],$array[$i][2],$i+1,$nbsp+1);
}
}
}
listTree($array,1,0,'AAA',1,0);
?>自己改改吧
$a=array(
0=>array(
'id'=>'1',
'name'=>"大分类",
'parentid'=>'0',
), 1=>array(
'id'=>'2',
'name'=>"大分类的子分类1",
'parentid'=>'1',
), 2=>array(
'id'=>'3',
'name'=>"大分类的子分类2",
'parentid'=>'1',
), 3=>array(
'id'=>'4',
'name'=>"大分类的子分类3",
'parentid'=>'1',
), 4=>array(
'id'=>'5',
'name'=>"大分类2",
'parentid'=>'0',
), 5=>array(
'id'=>'6',
'name'=>"大分类的子分类3的子分类",
'parentid'=>'4',
), 6=>array(
'id'=>'7',
'name'=>"大分类的子分类2的子分类1",
'parentid'=>'3',
), 7=>array(
'id'=>'8',
'name'=>"大分类的子分类2的子分类2",
'parentid'=>'3',
),);function p($ar,$k=0) {
$ret = array();
foreach($ar as $v) {
if(!is_array($v)) return $ar;
if($v[parentid] == $k) {
$ret[] = array_merge($v,array(child=>p($ar,$v[id])));
}
}
return $ret;
}$r = p($a);
print_r($r);
?>