首頁 後端開發 php教程 thinkphp中一个良好的方法

thinkphp中一个良好的方法

Jun 13, 2016 pm 12:37 PM
data list tree

thinkphp中一个很好的方法

在php中经常会用到分类树,下面这个函数是一个非常方便有用的,

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;
}
登入後複製



本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

php如何實作Redis的List操作 php如何實作Redis的List操作 May 26, 2023 am 11:51 AM

List操作//從list頭部插入一個值。 $ret=$redis->lPush('city','guangzhou');//從list尾部插入一個值。 $ret=$redis->rPush('city','guangzhou');//取得清單指定區間中的元素。 0表示列表第一個元素,-1表示最後一個元素,-2表示倒數第二個元素。 $ret=$redis->l

使用tree生成檔案目錄樹進行展示 使用tree生成檔案目錄樹進行展示 Mar 01, 2024 pm 05:46 PM

tree是一個命令列工具,它以樹狀格式遞歸地列出一個目錄的內容,使得所有的目錄、子目錄和文件以分層的方式列出,從而直觀地展示文件和資料夾的組織結構。以下是tree在Windows和Linux系統下的安裝與使用方法Linux下tree的安裝與使用Linux下安裝tree:aptupdate&&aptinstalltree以下是tree指令的常用方式。 #顯示指定路徑下的目錄樹tree/d/temp#限制最大的展示深度tree-L3#只顯示目錄不顯示檔案tree-d#顯示包含隱藏的檔案和目錄tr

java中JSONArray互相轉換List怎麼實現 java中JSONArray互相轉換List怎麼實現 May 04, 2023 pm 05:25 PM

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

為什麼在Python中list.sort()不會傳回已排序的清單? 為什麼在Python中list.sort()不會傳回已排序的清單? Sep 18, 2023 am 09:29 AM

範例在這個範例中,我們先來看看list.sort()的用法,然後再繼續。在這裡,我們建立了一個清單並使用sort()方法按升序排序-#CreatingaListmyList=["Jacob","Harry","Mark","Anthony"]#DisplayingtheListprint("List=",myList)#SorttheListsinAscendingOrdermyList .sort(

list如何轉numpy list如何轉numpy Nov 22, 2023 am 11:29 AM

list轉numpy的方法:1、使用numpy.array()函數,該函數的第一個參數是列表對象,可以是一維或多維的列表;2、使用numpy.asarray()函數,該函數會盡量使用輸入列表的資料類型;3、使用numpy.reshape()函數,可以將一維的列表轉換為多維的NumPy數組;4、使用numpy.fromiter()函數,該函數的第一個參數是可迭代對象。

如何使用C#中的List.Sort函數對清單進行排序 如何使用C#中的List.Sort函數對清單進行排序 Nov 17, 2023 am 10:58 AM

如何使用C#中的List.Sort函數對列表進行排序在C#程式語言中,我們經常需要對列表進行排序操作。而List類別的Sort函數正是為此設計的強大工具。本文將介紹如何使用C#中的List.Sort函數對清單進行排序,並提供具體的程式碼範例,幫助讀者更好地理解並應用該函數。 List.Sort函數是List類別的一個成員函數,用來對清單中的元素進行排序。該函數接

Java中如何將陣列轉換為List Java中如何將陣列轉換為List Apr 19, 2023 am 09:13 AM

一.最常見方式(未必最佳)透過Arrays.asList(strArray)方式,將陣列轉換List後,不能對List增刪,只能查改,否則拋異常。關鍵程式碼:Listlist=Arrays.asList(strArray);privatevoidtestArrayCastToListError(){String[]strArray=newString[2];Listlist=Arrays.asList(strArray);//對轉換後的list插入一條資料list.add(" 1&quot

Java基礎中List常用方法是什麼 Java基礎中List常用方法是什麼 May 14, 2023 am 10:16 AM

一、List介面簡介List是一個有序的集合、可重複的集合。它是繼承Collection接口,在List集合中是可以出現重複的元素,可以透過索引(下標)來存取指定位置的元素。二、List常用方法-voidadd(intindex,Obejctelement)方法1.voidadd(intindex,Obejctelement)方法是把element元素插入在指定位置,後面的元素往後移一個元素。 2.voidadd(intindex,Obejctelemen

See all articles