1.关键点
& 的使用 $b = & $a 意思是 $a的地址和 $b 是共享的
详细介绍&的使用方法
2.数据库的创建
id pid
3.无限查询的方法
$list 是要处理的数组 我的理解利用 & 一直在改变 $list数组的值
public static function genTree($list, $pk = 'id', $pid = 'pid', $child = 'list', $root = 0)
{
//创建Tree存放结果的数组
$tree = array();
if (is_array($list)) {
//创建基于主键的数组引用
$refer = array();
#把数组下标改成1开头的 多处维持相同的数据使用&
foreach ($list as $key => $data) {
$refer[$data[$pk]] = &$list[$key];
}
foreach ($list as $k => $data) {
//查看所有的pid
$parantId = $data[$pid];
if ($root == $parantId) {
#当pid=0的时候 相应的数组内容存到$tree数组内
$tree[] = &$list[$k];
} else {
#pid不为0的情况下 进入$refer parent的数据来自refer refer来自list一直在改变list的数据
if (isset($refer[$parantId])) {
$parent = &$refer[$parantId];
$parent[$child][] = &$list[$k];
}
}
}
}
return $tree;
}