Thinkphp的list_to_tree 实现无限级归类列出所有节点
Thinkphp的list_to_tree 实现无限级分类列出所有节点
list_to_tree 使用起来十分方便,详细可查看手册。因为我在用的时候需要同时列出所有节点,所以写了一个递归函数,拿出来供大家参考。
public function index(){ Load('extend'); //加载扩展方法 $Category=D('Category'); $list=$Category->order('sort desc')->select();//实现同级节点排序 $list=list_to_tree($list,'id','fid'); //详细参数见手册 $list=$this->findChild($list); dump($list);}protected function findChild($arr){ static $tree=array(); foreach ($arr as $key=>$val){ $tree[]=$val; if (isset($val['_child'])){ $this->findChild($val['_child']); } } return $tree;}
/** * 把返回的数据集转换成Tree * @access public * @param array $list 要转换的数据集 * @param string $pid parent标记字段 * @param string $level level标记字段 * @return array */function list_to_tree($list, $pk='id',$pid = 'pid',$child = '_child',$root=0) { // 创建Tree $tree = array(); if(is_array($list)) { // 创建基于主键的数组引用 $refer = array(); foreach ($list as $key => $data) { $refer[$data[$pk]] =& $list[$key]; } foreach ($list as $key => $data) { // 判断是否存在parent $parentId = $data[$pid]; if ($root == $parentId) { $tree[] =& $list[$key]; }else{ if (isset($refer[$parentId])) { $parent =& $refer[$parentId]; $parent[$child][] =& $list[$key]; } } } } return $tree;}/** * 对查询结果集进行排序 * @access public * @param array $list 查询结果 * @param string $field 排序的字段名 * @param array $sortby 排序类型 * asc正向排序 desc逆向排序 nat自然排序 * @return array */function list_sort_by($list,$field, $sortby='asc') { if(is_array($list)){ $refer = $resultSet = array(); foreach ($list as $i => $data) $refer[$i] = &$data[$field]; switch ($sortby) { case 'asc': // 正向排序 asort($refer); break; case 'desc':// 逆向排序 arsort($refer); break; case 'nat': // 自然排序 natcasesort($refer); break; } foreach ( $refer as $key=> $val) $resultSet[] = &$list[$key]; return $resultSet; } return false;}/** * 在数据列表中搜索 * @access public * @param array $list 数据列表 * @param mixed $condition 查询条件 * 支持 array('name'=>$value) 或者 name=$value * @return array */function list_search($list,$condition) { if(is_string($condition)) parse_str($condition,$condition); // 返回的结果集合 $resultSet = array(); foreach ($list as $key=>$data){ $find = false; foreach ($condition as $field=>$value){ if(isset($data[$field])) { if(0 === strpos($value,'/')) { $find = preg_match($value,$data[$field]); }elseif($data[$field]==$value){ $find = true; } } } if($find) $resultSet[] = &$list[$key]; } return $resultSet;}

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Opération de liste //Insérer une valeur à partir de l'en-tête de la liste. $ret=$redis->lPush('city','guangzhou');//Insérez une valeur à partir de la fin de la liste. $ret=$redis->rPush('city','guangzhou');//Obtient les éléments dans la plage spécifiée de la liste. 0 représente le premier élément de la liste, -1 représente le dernier élément et -2 représente l'avant-dernier élément. $ret=$redis->l

Titre : Exemple d'utilisation de la fonction Array.Sort pour trier un tableau en C# Texte : En C#, un tableau est une structure de données couramment utilisée, et il est souvent nécessaire de trier le tableau. C# fournit la classe Array, qui possède la méthode Sort pour trier facilement les tableaux. Cet article explique comment utiliser la fonction Array.Sort en C# pour trier un tableau et fournit des exemples de code spécifiques. Tout d’abord, nous devons comprendre l’utilisation de base de la fonction Array.Sort. Tableau.Donc

tree est un outil de ligne de commande qui répertorie de manière récursive le contenu d'un répertoire dans un format arborescent, de sorte que tous les répertoires, sous-répertoires et fichiers soient répertoriés de manière hiérarchique, affichant ainsi visuellement la structure organisationnelle des fichiers et des dossiers. Voici l'installation et l'utilisation de Tree sous les systèmes Windows et Linux. Installation et utilisation de Tree sous Linux : aptupdate&&aptinstalltree Voici les méthodes courantes d'utilisation de la commande Tree. #Afficher l'arborescence des répertoires sous le chemin spécifié tree/d/temp#Limiter la profondeur d'affichage maximale tree-L3#Afficher uniquement les répertoires mais pas les fichiers tree-d#Afficher y compris les fichiers et répertoires cachés tr

1:JSONArray转ListJSONArray字符串转List//初始化JSONArrayJSONArrayarray=newJSONArray();array.add(0,"a");array.add(1,"b");array.add(2,"c") ;Listlist=JSONObject.parseArray(array.toJSONString(),String.class);System.out.println(list.to

Lors de la programmation en PHP, nous avons souvent besoin de fusionner des tableaux. PHP fournit la fonction array_merge() pour terminer la fusion du tableau, mais lorsque la même clé existe dans le tableau, cette fonction écrasera la valeur d'origine. Afin de résoudre ce problème, PHP fournit également une fonction array_merge_recursive() dans le langage, qui peut fusionner des tableaux et conserver les valeurs des mêmes clés, rendant la conception du programme plus flexible. tableau_merge

En PHP, il existe de nombreuses fonctions de tableau puissantes qui peuvent rendre les opérations sur les tableaux plus pratiques et plus rapides. Lorsque nous devons combiner deux tableaux en un tableau associatif, nous pouvons utiliser la fonction array_combine de PHP pour réaliser cette opération. Cette fonction est en fait utilisée pour combiner les clés d'un tableau avec les valeurs d'un autre tableau dans un nouveau tableau associatif. Ensuite, nous expliquerons comment utiliser la fonction array_combine en PHP pour combiner deux tableaux en un tableau associatif. En savoir plus sur array_comb

Comment trier une liste à l'aide de la fonction List.Sort en C# Dans le langage de programmation C#, nous avons souvent besoin de trier la liste. La fonction Sort de la classe List est un outil puissant conçu à cet effet. Cet article explique comment utiliser la fonction List.Sort en C# pour trier une liste et fournit des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et appliquer cette fonction. La fonction List.Sort est une fonction membre de la classe List, utilisée pour trier les éléments de la liste. Cette fonction reçoit

Exemple Dans cet exemple, nous examinons d'abord l'utilisation de list.sort() avant de continuer. Ici, nous avons créé une liste et l'avons triée par ordre croissant à l'aide de la méthode sort() - #CreatingaListmyList=["Jacob","Harry","Mark","Anthony"]#DisplayingtheListprint("List=",myList)# Trier les listes par ordre croissant de ma liste .sort(
