<? PHP / * * * The data is formatted into a tree structure * @author Xuefen.Tong * @param items Array $ * @return Array * / function genTree5 ( $ items ) { the foreach ( $ items AS $ Item ) { $ items [ $ Item [ 'PID']] [ 'Son'] [ $ Item [ 'ID']] = & $ items [ $ Item [ 'ID' ]]; } return isset ( $ items [0] [ 'Son' ?]) $ items [0] [ 'Son']: Array (); } function genTree9($items) { $tree = array(); //格式化好的树 foreach ($items as $item) if (isset($items[$item['pid']])) $items[$item['pid']]['son'][] = &$items[$item['id']]; else $tree[] = &$items[$item['id']]; return $tree; } //Test code: $ items = Array ( . 6 => Array ( 'ID' =>. 6, 'PID' =>. 4, 'name' => 'Xiangfang'), . 1 => Array ( 'ID' =>. 1 , 'pid' => 0, 'name' => ' Jiangxi'), 2 => Array ( 'ID' => 2, 'pid' => 0, 'name' => ' Heilongjiang'), 3 => Array ( 'ID' =>. 3, 'PID' =>. 1, 'name' => 'Nanchang'), . 4 => Array ( 'ID' =>. 4, 'PID' => 2, 'name '=>' Harbin '), // . 5 => Array (' ID '=>5, 'pid' => 2 , 'name' => ' jixi'), // . 7 => Array ( 'ID' =>. 7, 'PID' =>. 4, 'name' => 'Nangang' ), // 8 => array ( 'id' => 8, 'pid' => 6, 'name' => ' and Rd'), //. 9 => Array ( 'ID' =>. 9, 'PID' => 7, 'name' => 'West Da Zhi'), // 10 => Array ( 'the above mentioned id' => 10, 'pid' => 8, 'name' => 'Northeast Forestry University'), // 11 => array ( 'id' => 11, 'pid' => 9, 'name' => ' Harbin Institute of Technology'), // 12 is => Array ( 'ID' => 12 is, 'PID' => 8, 'name' => 'Harbin Normal'), // 13 is => Array ( 'ID' => 13 is, 'PID' =>. 1, 'name' => 'Ganzhou'), // 14 = > array ( 'id' => 14, 'pid' => 13, 'name' => ' Gan County'), // 15 => Array ( 'ID' => 15, 'PID' => 13 is, 'name' => 'Yudu'), // 16 => Array ( 'ID' => 16, ' pid '=> 14,' name '=>' Mao Zhen '), //. 17 => Array (' ID '=>. 17,' pid '=> 14,' name '=>' large Tin '), // 18 is => Array (' ID '=> 18 is,' '16, =>' name '=>' sense Yuancun pid ') , // 19 => array('id' => 19, 'pid' => 16, 'name' => '上坝村'), ); echo "<pre>"; print_r(genTree5($items));