求一个有关树形数组的算法

#1 prince

想写一个功能:筛选无限分类下的文章或产品,查询出所有的分类数据处理成树型结构后,比如我选"见闻"可以得到所属它的所有末级分类id,以便根据这些末级分类id查找文章或产品,请大家指教
分类表结构:
        id        p_id        classname
        10        0        见闻
        15        0        IT解决方案
        14        0        支持与服务
        39        10        企业新闻
        40        10        行业新闻
有类似下边结构的数组(实际上可能有更多级):
Array
(
    [0] = Array
        (
            [id] = 10
            [p_id] = 0
            [classname] = 见闻
            [child] = Array
                (
                    [0] = Array
                        (
                            [id] = 39
                            [p_id] = 10
                            [classname] = 企业新闻
                        )
                    [1] = Array
                        (
                            [id] = 40
                            [p_id] = 10
                            [classname] = 行业新闻
                        )
                )
        )

    [1] = Array
        (
            [id] = 14
            [p_id] = 0
            [classname] = 支持与服务
        )
    [2] = Array
        (
            [id] = 15
            [p_id] = 0
            [classname] = IT解决方案
        )
)

2013-05-06 19:47:48

#2 prince

不好意思,那个数组没发对,怎么改回来

2013-05-06 19:49:25

#3 prince

数组如下:
Array
(
    [0] => Array
        (
            [id] => 10
            [p_id] => 0
            [classname] => 见闻
            [child] => Array
                (
                    [0] => Array
                        (
                            [id] => 39
                            [p_id] => 10
                            [classname] => 企业新闻
                        )

                    [1] => Array
                        (
                            [id] => 40
                            [p_id] => 10
                            [classname] => 行业新闻
                        )

                )

        )

    [1] => Array
        (
            [id] => 14
            [p_id] => 0
            [classname] => 支持与服务
        )

    [2] => Array
        (
            [id] => 15
            [p_id] => 0
            [classname] => IT解决方案
        )

)

2013-05-06 19:51:37

#4 jake

看不懂需求,问一下dtree能否帮到你呢?

2013-05-06 22:49:25