search

Home  >  Q&A  >  body text

php - When doing authorization management, an array of unknown depth needs to be traversed (in the form of a tree diagram). How can I write appropriate code?

How to realize the traversal of infinite tree graph? PHP traversal.

巴扎黑巴扎黑2747 days ago416

reply all(2)I'll reply

  • 高洛峰

    高洛峰2017-05-16 13:17:40

     //php输出版本:
    public static function toTreeHtml($lists = [])
        {
            $string.='<ul class="">';
            foreach ($lists as $key => $value) {
                $string.='<li><input type="checkbox" name="ids[]" />';
                $string.=$value['name'];
                if (count($value['child'])>0){
                    $string.=self::toTreeHtml($value['child']);
                }
                $string.='</li>';
            }
            $string.='</ul>'; 
            return $string;
        }
        
        //js输出版本
        function tree(list,ids){
            var string='';
            string+="<ul class=''>";
            for(i in list){
                
                string+="<li class='"+(list[i].pid==0?"item":"")+"'><label><input "+(in_array(list[i].id,ids)?"checked='checked'":"")+" type='checkbox' value='"+list[i].id+"' name='ids[]' />"+list[i].name+"</label>";
                if(list[i].child){
                    string+=tree(list[i].child,ids);
                }
                string+="</li>";
            }
            string+="</ul>";
            return string;
        }
    

    reply
    0
  • 漂亮男人

    漂亮男人2017-05-16 13:17:40

    Recommend a GitHub code to you, https://github.com/jonmiles/b...

    reply
    0
  • Cancelreply