1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<?php $data = array ( 1 => array ( 'id' => 1, 'name' => 'name1' , 'pid' => 0),
2 => array ( 'id' => 2, 'name' => 'name2' , 'pid' => 0),
3 => array ( 'id' => 3, 'name' => 'name3' , 'pid' => 1),
4 => array ( 'id' => 4, 'name' => 'name4' , 'pid' => 0),
5 => array ( 'id' => 5, 'name' => 'name5' , 'pid' => 3),
6 => array ( 'id' => 6, 'name' => 'name6' , 'pid' => 3),
);
$str = getTree(0);
$str = "<select name='term'>" . $str . "</select>" ;
echo $str ;
function getTree( $id , $spac =0)
{ $data = array ( 1 => array ( 'id' => 1, 'name' => 'name1' , 'pid' => 0),
2 => array ( 'id' => 2, 'name' => 'name2' , 'pid' => 0),
3 => array ( 'id' => 3, 'name' => 'name3' , 'pid' => 1),
4 => array ( 'id' => 4, 'name' => 'name4' , 'pid' => 0),
5 => array ( 'id' => 5, 'name' => 'name5' , 'pid' => 3),
6 => array ( 'id' => 6, 'name' => 'name6' , 'pid' => 3),
);
$spac = $spac + 2;
static $str ;
foreach ( $data as $k => $v ) {
if ( $v [ 'pid' ] == $id ) {
$arr [] = $v ;
$str .= "<option value='" . $v ['id '] . "' >" . str_repeat ( " " , $spac ) . "|--" . $v [ 'name' ] . "</option>" ;
getTree( $v [ 'id' ], $spac );
}
}
return $str ;
} ?> |
效果如图
本文转自 陈小龙哈 51CTO博客,原文链接:http://blog.51cto.com/chenxiaolong/1721016