数据库分类表结构如下:
目的:将查询到的记录重新组合,成树形菜单。
1.成功的方案
控制器代码如下:
输出结果:
2.失败的方案
控制器代码如下:
我使用$cat_tree数组属性来存放查询的结果,输出结果如下:
后面还有好长,总之是不正确的
求解:为何两种输出的结果不一致?其中有什么我需要了解的?
数据库分类表结构如下:
目的:将查询到的记录重新组合,成树形菜单。
1.成功的方案
控制器代码如下:
输出结果:
2.失败的方案
控制器代码如下:
我使用$cat_tree数组属性来存放查询的结果,输出结果如下:
后面还有好长,总之是不正确的
求解:为何两种输出的结果不一致?其中有什么我需要了解的?
2 回答1.5k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
2 回答895 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
2 回答957 阅读
1 回答934 阅读
1 回答857 阅读
在失败方案中:从第二次循环开始,每次调用
get_cat_tree()
,都会返回先前存在静态变量之中的整个树结构数组给childern
,这个数组包含有之前生成的所有信息。也就是你想着他会返回下一级的数据,但实际上是返回的东西包含有它父级的信息在里面的。
虽然每次都是重新调用一次
get_cat_tree
,但是这个方法返回的一直是同一个静态变量,这个静态变量越来越大,每一层都包含有大于等于上一层的所有信息。哈哈,这个有点只可意会不可言传的感觉,你多思考一下就一定能看出了哦~