我们必须要有条件判断否则就无限循环
我们递归返回值一般三种技巧 因为递归会把值丢了
1 $_GLOBALS[result]
2 static $result
3 参数应用&
输出1,2,3,4,5,6,7,8,9
第一种,引用传递
function deeploop(&$i=1){
echo $i;
$i++;
if($i<10){
deeploop($i)
}
}
然后deeploop()
第二种,global
$i=1
function deeploop(){
global $i;
echo $i;
$i++;
if($i<10){
deeploop($i)
}
}
然后deeploop()
第三种,static
function deeploop(){
static $i=1;
echo $i;
$i++;
if($i<10){
deeploop($i)
}
}
deeploop();就可以了
递归无限分类原理
每一个分类都需要记录它的父级id,当为顶级分类时,父级id为0
这样无论哪个分类,都可以通过父级分类id一层层去查明他的所有父级,以便清楚知道它所属何种分类,层级深度为几
表单数据:
insert into fenlei(id,pid,catename,cateorder,createtime) values
(1,0,'新闻',0,0),
(2,0,'图片',0,0),
(3,1,'国内新闻',0,0),
(4,1,'国际新闻',0,0),
(5,3,'北京新闻',0,0),
(6,4,'美国新闻',0,0),
(7,2,'美女图片',0,0),
(8,2,'风景图片',0,0),
(9,7,'日韩明星',0,0),
(10,9,'大陆明星',0,0);