1, 'pid' => 0, 'name' => '一级11'), array('id' => 11, 'pid' => 0, 'name' => 'www.111cn.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 = $tem = array(); foreach ($array as $v) { if ($v['pid'] == $pid) { $tem = formatTree($array, $v['id']); //判断是否存在子数组 $tem && $v['children'] = $tem; $arr[] = $v; } } return $arr; } echo "
";
print_r(formatTree($items));

/**
Array
(
    [0] => Array
        (
            [id] => 1
            [pid] => 0
            [name] => 一级11
            [children] => Array
                (
                    [0] => Array
                        (
                            [id] => 2
                            [pid] => 1
                            [name] => 二级21
                        )

                    [1] => Array
                        (
                            [id] => 3
                            [pid] => 1
                            [name] => 二级23
                        )

                    [2] => Array
                        (
                            [id] => 9
                            [pid] => 1
                            [name] => 二级25
                        )

                )

        )

    [1] => Array
        (
            [id] => 11
            [pid] => 0
            [name] => www.111cn.net 一级12
            [children] => Array
                (
                    [0] => Array
                        (
                            [id] => 10
                            [pid] => 11
                            [name] => 二级22
                        )

                    [1] => Array
                        (
                            [id] => 12
                            [pid] => 11
                            [name] => 二级24
                            [children] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 13
                                            [pid] => 12
                                            [name] => 三级31
                                        )

                                )

                        )

                )

        )

)
*/