这几天写的php树类.
klggg 2004-09-16 07:42:02 感谢这扁文章给我的启发
http://community.csdn.net/Expert/topic/2980/2980875.xml?temp=.6911585
原帖请见:
http://202.101.43.198/ggg/wcg/showthread.php?s=8c4a7c887927aed66cb3fc55c6cfbc2b&postid=129#post129
下载该类源代码:
http://202.101.43.198/ggg/wcg/attachment.php?s=8c4a7c887927aed66cb3fc55c6cfbc2b&postid=128
调用代码:
$tmpArray = array(array('id'=>1, 'name'=>'aaa', 'pid'=>0),
array('id'=>2, 'name'=>'aaa1', 'pid'=>1),
array('id'=>3, 'name'=>'bbb', 'pid'=>0),
array('id'=>4, 'name'=>'bbb1', 'pid'=>3),
array('id'=>5, 'name'=>'aaa1_1_1', 'pid'=>6),
array('id'=>6, 'name'=>'aaa1_1', 'pid'=>2),
array('id'=>7, 'name'=>'aaa1_1_2', 'pid'=>6),
array('id'=>8, 'name'=>'bbb2', 'pid'=>3),
array('id'=>9, 'name'=>'aaa1_1_3', 'pid'=>6),
array('id'=>10, 'name'=>'ccc', 'pid'=>0),
array('id'=>11, 'name'=>'ccc1', 'pid'=>10),
array('id'=>12, 'name'=>'ccc2', 'pid'=>10),
array('id'=>13, 'name'=>'ccc3', 'pid'=>10),
array('id'=>14, 'name'=>'ccc2_1', 'pid'=>12),
array('id'=>15, 'name'=>'ccc2_2', 'pid'=>12),
);
$keyId=0;
$categoryClass = new GggCatagory($tmpArray,"id","name","pid");
$categoryClass->SetParentKey(0); //设置代表根类的key
$categoryClass->getCategoryChildrens($keyId,' - ',$category_array);
foreach ($category_array as $key => $value)
{
print($key.":");
print($value);
print("<br>");
}
结果
1: - aaa
2: - - aaa1
6: - - - aaa1_1
5: - - - - aaa1_1_1
7: - - - - aaa1_1_2
9: - - - - aaa1_1_3
3: - bbb
4: - - bbb1
8: - - bbb2
10: - ccc
11: - - ccc1
12: - - ccc2
14: - - - ccc2_1
15: - - - ccc2_2
13: - - ccc3