为什么这样的数组不能使用无限分类

#1 枫子

$$$$arr = array(
array(
'id'=>1,
'pid'=>'0',
),
array(
'id'=>11,
'pid'=>'1',
),
array(
'id'=>12,
'pid'=>'1',
),
);

$$$$tree = new Tree($$$$arr);
$$$$a = $$$$tree->leaf();


dump($$$$a);
Array
(
    [0] => Array
        (
            [id] => 1
            [pid] => 0
            [child] => Array
                (
                    [0] => Array
                        (
                            [id] => 11
                            [pid] => 1
                        )

                    [1] => Array
                        (
                            [id] => 12
                            [pid] => 1
                        )

                )

        )

)


2013-08-27 22:54:41

#2 枫子

$$$$arr = array(
array(
'id'=>7,
'pid'=>'1',
),
array(
'id'=>11,
'pid'=>'7',
),
array(
'id'=>12,
'pid'=>'7',
),
);

$$$$tree = new Tree($$$$arr);
$$$$a = $$$$tree->leaf();


dump($$$$a);
dump后为空

2013-08-27 22:57:41

#3 枫子

现在问题是一楼可以dump出树形结构,二楼不行。为什么呢?求JAKE大大及广大SP粉解答。谢谢。

2013-08-27 22:58:53

#4 jake

我的建议是你自己研究Tree这个类里面的代码,这里又没有Tree的代码,谁能猜到为什么呢

2013-08-28 08:12:54

#5 枫子

jake 发表于 2013-8-28 08:12
我的建议是你自己研究Tree这个类里面的代码,这里又没有Tree的代码,谁能猜到为什么呢 ...
无限分类使用的是Kvoid所发的,地址是:http://www.speedphp.com/forum.php?mod=viewthread&tid=1461

2013-08-28 11:52:16

#6 jake

把上面的代码copy到下面的,然后改几个数字,他们的差别就在几个数字?

2013-08-28 13:27:46

#7 枫子

jake 发表于 2013-8-28 13:27
把上面的代码copy到下面的,然后改几个数字,他们的差别就在几个数字?
是的,所以感觉很奇怪。

2013-08-28 13:32:49

#8 jake

枫子 发表于 2013-8-28 13:32
是的,所以感觉很奇怪。
只能说那个Tree应该是有bug。

2013-08-28 13:48:22

#9 jake

枫子 发表于 2013-8-28 13:32
是的,所以感觉很奇怪。
Tree那个类我先移回交流区吧

2013-08-28 13:49:24

#10 枫子

jake 发表于 2013-8-28 13:49
Tree那个类我先移回交流区吧
Jake 有好用的无限分类分享下吗?我试过坛里好几个无限分类都不行。

2013-08-28 14:07:56

#11 jake

枫子 发表于 2013-8-28 14:07
Jake 有好用的无限分类分享下吗?我试过坛里好几个无限分类都不行。
无限分类是一种类型的算法,没有具体的什么类的。那些所谓的类都是全部读出节点再排序,意义不大,和XML类差不多。

无限分类要解决的问题是多节点下递归性能问题,但是这些类都全部节点读出来,那就没法解决性能问题了。

2013-08-28 15:16:38

#12 枫子

jake 发表于 2013-8-28 15:16
无限分类是一种类型的算法,没有具体的什么类的。那些所谓的类都是全部读出节点再排序,意义不大,和XML ...
明白,谢谢 jake 大大。

2013-08-28 15:47:16