<?php
//phpinfo();
header(
"content-type:text/html;charset=utf8");
//测试数据
$cate = 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' =>
9,
'pid' =>
1,
'name' =>
'二级25' ),
array(
'id' =>
14,
'pid' =>
1,
'name' =>
'二级26' ),
array(
'id' =>
4,
'pid' =>
9,
'name' =>
'三级31' ),
array(
'id' =>
6,
'pid' =>
9,
'name' =>
'三级32' ),
array(
'id' =>
7,
'pid' =>
4,
'name' =>
'四级41' ),
array(
'id' =>
8,
'pid' =>
4,
'name' =>
'四级42' ),
array(
'id' =>
5,
'pid' =>
4,
'name' =>
'四级43' ),
array(
'id' =>
13,
'pid' =>
4,
'name' =>
'四级44' ),
array(
'id' =>
15,
'pid' =>
8,
'name' =>
'五级51' ),
array(
'id' =>
16,
'pid' =>
8,
'name' =>
'五级52' ),
array(
'id' =>
17,
'pid' =>
8,
'name' =>
'五级53' ),
array(
'id' =>
18,
'pid' =>
16,
'name' =>
'六级64' ),
);
//数据进行重新排序的类的实现
class test{
function tree($data,$pid=
0,$level =
0){
$res=array();
foreach($data as $v){
if($v[
'pid']==$pid){
$v[
'level'] = $level;
$res[] = $v;
$res = array_merge($res,
$this->tree($data,$v[
'id'],$level+
1));
}
}
return $res;
}
}
$t=
new test();
$res=$t->tree($cate);
?
>
<!DOCTYPE html
>
<
html
lang=
"en"
>
<
head
>
<
meta
charset=
"UTF-8"
>
<
meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<
meta
http-equiv=
"X-UA-Compatible"
content=
"ie=edge"
>
<
title
>Document
</
title
>
</
head
>
<
body
>
<
table
width=
"100%"
cellspacing=
"1"
cellpadding=
"2"
id=
"list-table"
>
<?php
//循环数据的层级
$fuhao=
" ";
foreach($res as $value){
$ifuhao=str_repeat($fuhao, $value[
'level']);
echo
"<tr><td>".$ifuhao.$value[
'name'].
"</td></tr>";
}
?
>
</
table
>
</
body
>
</
html
>