zoukankan      html  css  js  c++  java
  • php部分,一个用递归无限分类的方法

    <?php
         
       $data[]=array('id'=>1,'parentid'=>0,'name'=>'中国');   
       $data[]=array('id'=>2,'parentid'=>0,'name'=>'美国');   
       $data[]=array('id'=>3,'parentid'=>0,'name'=>'韩国');   
       $data[]=array('id'=>4,'parentid'=>1,'name'=>'北京');  
       $data[]=array('id'=>5,'parentid'=>1,'name'=>'上海');   
       $data[]=array('id'=>6,'parentid'=>1,'name'=>'广西');   
       $data[]=array('id'=>7,'parentid'=>6,'name'=>'桂林');   
       $data[]=array('id'=>8,'parentid'=>6,'name'=>'南宁');   
       $data[]=array('id'=>9,'parentid'=>6,'name'=>'柳州');  
       $data[]=array('id'=>10,'parentid'=>2,'name'=>'纽约');  
       $data[]=array('id'=>11,'parentid'=>2,'name'=>'华盛顿');  
       $data[]=array('id'=>12,'parentid'=>3,'name'=>'首尔'); 
       
         
       $tree=build_tree($data,0);   
       
       print_r($tree); 
      
      
    function findChild($arr,$id){  
              $childs=array();   //定义一个数组
              foreach ($arr as $k => $v){    //把父级二维数组遍历
                if($v['parentid']== $id){     //判断子集的parentid的值是不是等于父级id的值
                 $childs[]=$v;                //如果等于把这个子集交给变量数组$childs
                }  
              }  
              return $childs;               //返回符合条件的所有子集
    } 
    
    
    
    function build_tree($rows,$root_id){       //$root_id父级代号
              $childs=findChild($rows,$root_id);  
              if(empty($childs)){            
                return null;  
              } 
            foreach ($childs as $k => $v){      //遍历符合父级id值的数组
              $rescurTree=build_tree($rows,$v['id']);  //把子集再遍历,如果有子集就交给$rescurTree
              if( null != $rescurTree){  
              $childs[$k]['childs']=$rescurTree;  //把子集的子集交给$childs[$k]['childs'],['childs']是自定义的一个键值
    } } return $childs; } ?>

     

  • 相关阅读:
    The FLARE On Challenge
    CVE-2013-2551漏洞成因与利用分析(ISCC2014 PWN6)
    CVE-2014-0322漏洞成因与利用分析
    CVE-2013-3897漏洞成因与利用分析
    译:《深入解析WINDOWS VISTA APC》——PART 1
    MemoryInjector 无痕注入
    一个APC引起的折腾 之题外记
    一个APC引起的折腾
    2020
    javascriptcore调试笔记
  • 原文地址:https://www.cnblogs.com/xingyue1988/p/6233122.html
Copyright © 2011-2022 走看看