Ar = array (0 => array ('name' => 'food', 'id' => 1, 'Pi' => 0 ),
02 1 => array ('name' => 'plant ', 'id' => 2, 'pid' => 0 ),
03 3 => array ('name' => 'cabbage ', 'id' => 3, 'pid' => 1 ),
04 4 => array ('name' => 'tree', 'id' => 4, 'pid '=> 2 ),
05 5 => array ('name' => 'apple', 'id' => 5, 'pid '=> 3 ),
06 6 => array ('name' => 'pine tree ', 'id' => 6, 'pid' => 4 ),
07 7 => array ('name' => 'beverage ', 'id' => 7, 'pid' => 1 ),
08 8 => array ('name' => 'test 1', 'id' => 8, 'pid '=> 7 ),
09 9 => array ('name' => 'test 2', 'id' => 9, 'pid '=> 8 ),
10 10 => array ('name' => 'people', 'id' => 10, 'pid '=> 9 ),
11 11 11 => array ('name' => 'Xiaomi ', 'id' => 11, 'pid' => 0 ),
12 );
13
14 echo '<table border = "1" width = "100%"> ';
15 tre ($ ar, 0 );
16 echo '</table> ';
17
18 function tre ($ tree, $ id)
19 {
20 $ str = '';
21 $ strid = '';
22 foreach ($ tree as $ key => $ item)
23 {
24 if ($ item ['pid '] ==$ id ){
25 $ I = 0;
26 $ I = sonNum ($ tree, $ item ['id']);
27 if ($ I = 1 | $ I = 0 ){
28 echo '<tr> <td> ';
29} else {
30 echo '<tr> <td rowspan = "'. $ I. '"> ';
31}
32 // echo '<tr> <td> ';
33 echo $ item ['name'];
34 echo '</td> </tr> ';
35 tre ($ tree, $ item ['id']);
36}
37}
38 // tre ($ tree, $ strid );
39}
40
41 function sonNum ($ tre, $ sum, $ totale = 1)
42 {
43 foreach ($ tre as $ key => $ value)
44 {
45 if ($ value ['pid '] = $ sum ){
46 $ totale + = sonNum ($ tre, $ value ['id'], 1 );
47}
48}
49 return $ totale;
50}