Heim  >  Artikel  >  Backend-Entwicklung  >  Instanzen nach Ebene klassifizieren und ausgeben

Instanzen nach Ebene klassifizieren und ausgeben

小云云
小云云Original
2018-03-16 13:50:131175Durchsuche

Dieser Artikel zeigt Ihnen hauptsächlich Beispiele für die rekursive Verarbeitung von Thinkphp, die Kategorien nach Ebene ausgibt. Ich hoffe, dass er Ihnen helfen kann.

1. Im Allgemeinen werden Kategorien in der Datenbank gespeichert und die Beziehung zwischen Kategorien wird durch parent_id identifiziert. In der Entwicklung ist es manchmal erforderlich, Kategorien entsprechend der Klassifizierungsebene anzuzeigen, wie unten gezeigt:

Verwenden Sie die rekursive Methode. Der Quellcode lautet wie folgt:

  1. /** 
       *  
       * @param array $list  为一个二维数组,存放着所有的分类,包含的字段为(分类id,分类名,parent_id) 
       * @param number $parent_id 
       * @param number $level 
       * @return Ambigous <multitype:, number> 
       */  
      function find_level($list,$parent_id=0,$level=1){  
          foreach($list as $l){  
              if($l[&#39;parent_id&#39;]==$parent_id){  
                  $l[&#39;level&#39;]=$level;  
                  $arr[]=$l;  
                  $child=$this->find_level($list,$l[&#39;cat_id&#39;],$level+1);  
                  if(is_array($child)){  
                      $arr=array_merge($arr,$child);  
                  }  
              }  
          }  
          return $arr;  
      }

Verwenden Sie bei der Verwendung einfach find_level($list) oder $this->find_level($list) entsprechend der tatsächlichen Situation

$list=M(&#39;category&#39;)->field(&#39;cat_id,cat_name,parent_id&#39;)->select();  
$list=$this->find_level($list);  
$this->list=$list;  
$this->display();


Anzeigecode für Vordergrunddateien

  1. <table>  
    <foreach name="list" item="vo">  
        <tr>  
            <td>  
                <for start="1" end="$vo[&#39;level&#39;]">  
                          
                </for>  
                {$vo.cat_name}<br/>  
            </td>  
        </tr>  
    </foreach>  
    </table>

Die hier verwendete Syntax ist Thinkphp

Das obige ist der detaillierte Inhalt vonInstanzen nach Ebene klassifizieren und ausgeben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn