php无限分类树[支持子分类排序]

PHP中文网
Libérer: 2023-03-15 17:20:02
original
1465 Les gens l'ont consulté

没有人规定一定要使用类,你写成一个函数也可以,每个人的编程习惯、风格、喜好都不一样,关于封装成类是为了使这段程序具有结构条理性,而不是随意放置,关于类中包含的多个方法(vTree、hTree)主要应对不同业务场景,vTree为单线纵向结构,而hTree为树形结构。

ClassTree.class.php

 &$v) { if(!empty($v['sub'])){ $v['sub']=self::sort($v['sub'],$cols); } $sort[$k]=$v[$cols]; } if(isset($sort)) array_multisort($sort,SORT_DESC,$arr); return $arr; } /** * 横向分类树 */ static public function hTree($arr,$pid=0){ foreach($arr as $k => $v){ if($v['pid']==$pid){ $data[$v['id']]=$v; $data[$v['id']]['sub']=self::hTree($arr,$v['id']); } } return isset($data)?$data:array(); } /** * 纵向分类树 */ static public function vTree($arr,$pid=0){ foreach($arr as $k => $v){ if($v['pid']==$pid){ $data[$v['id']]=$v; $data+=self::vTree($arr,$v['id']); } } return isset($data)?$data:array(); } }
Copier après la connexion

返回例子:

Array ( [4] => Array ( [id] => 4 [pid] => 0 [name] => 上海 [sort] => 2 ) [5] => Array ( [id] => 5 [pid] => 4 [name] => 闵行 [sort] => 0 ) [1] => Array ( [id] => 1 [pid] => 0 [name] => 浙江 [sort] => 0 ) [13] => Array ( [id] => 13 [pid] => 1 [name] => 金华 [sort] => 1 ) [10] => Array ( [id] => 10 [pid] => 1 [name] => 宁波 [sort] => 0 ) [6] => Array ( [id] => 6 [pid] => 10 [name] => 宁海 [sort] => 0 ) ) Array ( [4] => Array ( [id] => 4 [pid] => 0 [name] => 上海 [sort] => 2 [sub] => Array ( [5] => Array ( [id] => 5 [pid] => 4 [name] => 闵行 [sort] => 0 [sub] => Array ( ) ) ) ) [1] => Array ( [id] => 1 [pid] => 0 [name] => 浙江 [sort] => 0 [sub] => Array ( [13] => Array ( [id] => 13 [pid] => 1 [name] => 金华 [sort] => 1 [sub] => Array ( ) ) [10] => Array ( [id] => 10 [pid] => 1 [name] => 宁波 [sort] => 0 [sub] => Array ( [6] => Array ( [id] => 6 [pid] => 10 [name] => 宁海 [sort] => 0 [sub] => Array ( ) ) ) ) ) ) )
Copier après la connexion
public function vTree($arr,$pid=0){ foreach($arr as $k => $v){ if($v['pid']==$pid){ $data[$v['id']]=$v; $data+=vTree($arr,$v['id']); } } return isset($data)?$data:array(); }
Copier après la connexion


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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!