Rumah pembangunan bahagian belakang tutorial 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;
}
Salin selepas log masuk



Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melaksanakan operasi Senarai Redis dalam php Bagaimana untuk melaksanakan operasi Senarai Redis dalam php May 26, 2023 am 11:51 AM

Operasi senarai //Masukkan nilai daripada kepala senarai. $ret=$redis->lPush('city','guangzhou');//Masukkan nilai dari hujung senarai. $ret=$redis->rPush('city','guangzhou');//Dapatkan elemen dalam julat senarai yang ditentukan. 0 mewakili elemen pertama dalam senarai, -1 mewakili elemen terakhir, dan -2 mewakili elemen terakhir. $ret=$redis->l

Gunakan pepohon untuk menjana pepohon direktori fail untuk paparan Gunakan pepohon untuk menjana pepohon direktori fail untuk paparan Mar 01, 2024 pm 05:46 PM

tree ialah alat baris arahan yang menyenaraikan secara rekursif kandungan direktori dalam format pepohon, supaya semua direktori, subdirektori dan fail disenaraikan dalam cara hierarki, dengan itu memaparkan struktur organisasi fail dan folder secara visual. Berikut ialah kaedah pemasangan dan penggunaan pepohon di bawah sistem Windows dan Linux Pemasangan dan penggunaan pepohon di bawah Linux: aptupdate&&aptinstalltree Berikut ialah cara biasa menggunakan arahan pepohon. #Paparkan pepohon direktori di bawah pepohon laluan yang ditentukan/d/temp #Hadkan pepohon kedalaman paparan maksimum-L3 #Paparkan direktori sahaja tetapi bukan pepohon fail-d #Paparan termasuk fail tersembunyi dan direktori tr

Bagaimana untuk menukar JSONArray ke Senarai di Jawa Bagaimana untuk menukar JSONArray ke Senarai di Jawa 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

Bagaimana untuk menukar senarai kepada numpy Bagaimana untuk menukar senarai kepada numpy Nov 22, 2023 am 11:29 AM

Kaedah untuk menukar senarai kepada numpy: 1. Gunakan fungsi numpy.array() Parameter pertama fungsi ialah objek senarai, yang boleh menjadi senarai satu dimensi atau berbilang dimensi 2. Gunakan numpy.asarray(; ) fungsi, yang akan mencuba yang terbaik untuk Menggunakan jenis data senarai input 3. Gunakan fungsi numpy.reshape() untuk menukar senarai satu dimensi kepada tatasusunan NumPy berbilang dimensi 4. Gunakan numpy.fromiter () fungsi, parameter pertama fungsi ialah objek boleh lelaran.

Bagaimana untuk mengisih senarai menggunakan fungsi List.Sort dalam C# Bagaimana untuk mengisih senarai menggunakan fungsi List.Sort dalam C# Nov 17, 2023 am 10:58 AM

Cara mengisih senarai menggunakan fungsi List.Isih dalam C# Dalam bahasa pengaturcaraan C#, kita selalunya perlu mengisih senarai. Fungsi Isih kelas Senarai ialah alat berkuasa yang direka untuk tujuan ini. Artikel ini akan memperkenalkan cara menggunakan fungsi List.Isih dalam C# untuk mengisih senarai dan menyediakan contoh kod khusus untuk membantu pembaca memahami dan menggunakan fungsi ini dengan lebih baik. Fungsi List.Sort ialah fungsi ahli kelas List, digunakan untuk mengisih elemen dalam senarai. Fungsi ini menerima

Mengapa list.sort() tidak mengembalikan senarai diisih dalam Python? Mengapa list.sort() tidak mengembalikan senarai diisih dalam Python? Sep 18, 2023 am 09:29 AM

Contoh Dalam contoh ini, kita mula-mula melihat penggunaan list.sort() sebelum meneruskan. Di sini, kami telah mencipta senarai dan mengisihnya dalam tertib menaik menggunakan kaedah sort() - #CreatingaListmyList=["Jacob","Harry","Mark","Anthony"]#DisplayingtheListprint("List=",myList)# SorttheListsinAscendingOrdermyList .sort(

Bagaimana untuk menukar tatasusunan ke Senarai dalam Java Bagaimana untuk menukar tatasusunan ke Senarai dalam Java Apr 19, 2023 am 09:13 AM

1. Cara yang paling biasa (tidak semestinya yang terbaik) adalah melalui Arrays.asList(strArray Selepas menukar tatasusunan kepada Senarai, anda tidak boleh menambah atau memadam Senarai, anda hanya boleh menyemak dan mengubah suainya, jika tidak pengecualian akan dibuang). . Kod kunci: Listlist=Arrays.asList(strArray);privatevoidtestArrayCastToListError(){String[]strArray=newString[2];Listlist=Arrays.asList(strArray);//Masukkan sekeping data ke dalam senarai senarai yang ditukar.add( "1&quot

Apakah kaedah biasa Senarai dalam asas Java Apakah kaedah biasa Senarai dalam asas Java May 14, 2023 am 10:16 AM

1. Pengenalan kepada Senarai antara muka Senarai ialah koleksi tersusun dan koleksi boleh ulang. Ia mewarisi antara muka Koleksi Elemen berulang boleh muncul dalam koleksi Senarai, dan elemen pada kedudukan yang ditentukan boleh diakses melalui indeks (subskrip). 2. Senaraikan kaedah biasa - kaedah voidadd (intindex, Obejctelement) 1. Kaedah voidadd (intindex, Obejctelement) memasukkan elemen elemen pada kedudukan yang ditentukan dan menggerakkan elemen seterusnya ke belakang satu elemen. 2.voidadd(intindex,Obejctelemen

See all articles