袁来如此的工作笔记
袁来如此的工作笔记
竹杖芒鞋轻胜马,谁怕? 一蓑烟雨任平生。

php无限分类递归及其排序详解

浏览量:297

what:

要满足下面的条件

1、记录条件值,记录的条件值必须保证不会再下一次调用时丢失。函数中static修饰的变量仅仅在第一次初始化,并保留变量值。
2、条件检查。限制了函数对自身的调用次数,可以防止无限调用导致程序奔溃。


why:

函数a内部调用另外的函数b,如果b函数没有完成,那么a函数就会一直等待下去,直到b函数完成,才会回到a函数继续执行。递归的过程中利用了这个特性,正是这个能帮助我们对无限分类进行排序


how:
function recursion($result,$parentid=0,$format="--"){
    
    static $list=array();
 
    foreach ($result as $k => $v){
        if($v[parentid]==$parentid){
            if($parentid!=0){
                $v[title]=$format.$v[title];
            }
            
            $list[]=$v;
            recursion($result,$v[id],"  ".$format);
        }
       }
 
       return $list;
 
}
 
$list=recursion($result,0);

打赏