Maison > développement back-end > tutoriel php > exemple de code de menu d'arborescence php

exemple de code de menu d'arborescence php

怪我咯
Libérer: 2023-03-13 11:48:01
original
3100 Les gens l'ont consulté

Cet article présente principalement le code du menu arborescent PHP basé sur la récursion. Il utilise une méthode récursive pour parcourir les nœuds pour construire un menu arborescent. C'est une technique très pratique. Les amis qui en ont besoin peuvent s'y référer

L'exemple de cet article décrit le code du menu arborescent PHP basé sur une implémentation récursive. Partagez-le avec tout le monde pour votre référence. La méthode spécifique d'implémentation est la suivante :

Lors du développement d'un site Web de commerce électronique, j'ai créé cette fonction pour afficher un menu arborescent, en utilisant la fonction de menu arborescent PHP implémentée de manière récursive. Le code spécifique est le suivant :

Le code est le suivant :

public function procCategory($sid,$pid){
$return = array();
$key = 0;
static $arr = array(); //分类级别参考数组
$sql =  "select cid,pcid,name from shop_goods_catalog where sid='{$sid}' and pcid = '{$pid}'";
$result = $this->db->query($sql);
 
while($row=$this->db->fetchArray($result)){
$nbsp = '';
if($row['pcid']==0){
$arr = array();
}
$arr[] = $row['pcid'];
//顶级分类不添加树形结构标识。
if($row['pcid']>0){
//根据分类级别添加树形结构标识
$key = array_search($row['pcid'],$arr);
for($i=0;$i<$key;$i++){
$nbsp .= &#39;  &#39;;
}
//重构分类级别参考数组
if(count($arr)>1&&count(array_keys($arr,$row[&#39;pcid&#39;]))>1){
$arr = array_slice($arr,0,$key+1);
}
}
$row[&#39;name&#39;] = $nbsp.$row[&#39;name&#39;];
$row[&#39;level&#39;] = $key; //分类级别,0为顶级分类,1为二级分类,用于样式设定或其他需求
$return[] = $row;
$r = $this->procCategory($sid,$row[&#39;cid&#39;]);
$return = array_merge($return,$r);
}
 
return $return;
}
Copier après la connexion
En raison de l'efficacité relativement faible de la récursivité, n'utilisez pas ceci méthode si vous vous concentrez sur l’efficacité du programme. Ou améliorez cette méthode.

Ce qui suit est le code de l'arbre php

Infinite Category, les amis dans le besoin peuvent s'y référer.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal