$items = array( array('id' => 1,'pid' => 0, 'name' => '一级11' ), array('id' => 11, 'pid' => 0, 'name' => 'www.jb51.net 一级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' => 13, 'pid' => 12, 'name' => '三级31' ), array('id' => 9, 'pid' => 1, 'name' => '二级25' ), );
function formatTree($array, $pid = 0){ $arr = array(); $tem = array(); foreach ($array as $v) { if ($v['pid'] == $pid) { $tem = $this->formatTree($array, $v['id']); $tem && $v['son'] = $tem; $arr[] = $v; } } return $arr; }