<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            PHP高效獲取樹結構信息

            時間:2025-02-22 16:36:18 php語言 我要投稿
            • 相關推薦

            PHP高效獲取樹結構信息

              學習是通過具體的例子來多練習,知識點才會掌握鞏固。以下是百分網小編精心為大家整理的PHP教程,希望對大家有所幫助!更多內容請關注應屆畢業生網!

              在開發中,經常有一些簡單的樹形結構的存儲,比如產品的多級分類,多級導航欄菜單等,這些物體有一個特性,就是通常會獲取整棵樹結構。在數據庫里保存樹結構的方法主要有三種,最簡單的一就是通過一個father_id指向當前結構的父節點。對于這樣的小結構,一般我們使用最簡單的方式存儲。

              當要獲取整棵樹結構,網上一般用遞歸法,這種方式代碼簡單易懂,但是缺點是需要執行多次數據庫查詢,而且后面幾次獲取的元素數量很少甚至為0,效率很差。

              其實,遇到這種情況,可以將所有的元素全部從數據庫獲取出來,然后再根據獲取的元素father_id構建樹結構,這樣就可以解決執行多次數據庫查詢的性能損耗。下面就以我在實際項目中獲取多級導航欄菜單中的函數進拋磚引玉了

            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            15
            16
            17
            18
            19
            20
            21
            22
            23
            24
            25
            26
            27
            28
            29
            30
            31
            /*
            通過數據庫獲取所有元素,通過下面函數構造樹形結構
            */
            private function getTree($menus)
            {
                $id $level = 0;
            $menuobjs=array();
                $tree array();
            $notrootmenu=array();
                foreach($menus as $menu){
                   $menuobj=new stdClass();
            $menuobj->menu=$menu;
                $id $menu['id'];
            $level $menu['father_id'];
            $menuobj->nodes = array();
            $menuobjs[$id]=$menuobj;
            if ($level) {
            $notrootmenu[]=$menuobj;
            else {
            $tree[] = $menuobj;
            }
                }
            foreach($notrootmenu as $menuobj){
            $menu=$menuobj->menu;
            $id $menu['id'];
            $level $menu['father_id'];
            $menuobjs[$level]->nodes[]=$menuobj;
            }
                return $tree;
                }
            }

             

              【拓展閱讀】php好學嗎?幾個月能學會php開發嗎?

              好多要來硬漢科技學習的學員在來之前都問我:老師,我不是專業的計算機學生,我沒有接觸過PHP ,我一點基礎也沒有,我能學會PHP嗎?也有些一直想來硬漢科技學習PHP的學員很好奇,這么多的內容,在4個多月的時間就全部學完,真的可以么?這幾個月以后自己還是一問三不知怎么辦?今天,我們就來說說學習PHP開發這件事。

              PHP是什么,應用得怎么樣?

              PHP,一個嵌套的縮寫名稱,是英文超級文本預處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預處理器”)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利于學習,使用廣泛,主要適用于Web開發領域,現在被很多的網站編程人員廣泛的運用(以上為專業解釋)。小編還想說的是,很多大型網站其實都是用PHP語言編寫的,比如:百度、阿里巴巴、騰訊(簡稱BAT)。

              4個多月能學會PHP嗎?

              在回答這個問題之前小編想說一下大道理,有些時候,我們往往把事情想的太困難,而真正去做的時候,才會發現自己的潛力。永遠不要懷疑自己的能力,有時候你不逼自己一把,根本不知道自己有多優秀,與其前怕狼后怕虎,不如拼盡全力的去學習這幾個月。

              現在回到這個問題上來,對于沒有基礎的朋友幾個月真的能學會PHP開發嗎?小編的回答是:能,也不能!有人肯定就會對我這個答案嗤之以鼻,說你的答案和不回答有什么區別呢?其實,大道理誰都明白。對于有毅力肯下功夫學習的人說的,是可以學好的;但那些一遇到困難就退縮的人來說,就真是遺憾了。在硬漢科技每天8:30準時上課,并且還有晚自習,技術老師也會全程陪著你,有不懂的問題可以隨時詢問。這樣的學習環境下,你說能不能學會PHP?

              學習天貓、UI、Web前端等任何一門新的技術也是這樣,“世上無難事,只怕有心人”你沒有下定決心去做一件事,怎么知道自己不能學會呢。

              舉個栗子:硬漢科技在2015年11月PHP的班級里面有一名學員是高中畢業生,并且已經在酒吧工作了好幾年了。用他自己的話來說:僅有的一點點知識早已經丟到了爪哇國了,但是通過他在硬漢科技的5個月的努力學習,他不僅找到了工作,而且工資還是班里的佼佼者,這樣,你有沒有信心學好PHP了呢?

            【PHP高效獲取樹結構信息】相關文章:

            PHP如何獲取系統信息11-04

            如何利用PHP語言獲取連接信息10-01

            PHP獲取星期的方法07-06

            PHP如何獲取表單07-27

            php創建cookie獲取方法10-28

            php怎么獲取input的id09-10

            php創建獲取cookie及基礎要點11-02

            使用PHP獲取數組的鍵與值10-08

            PHP簡單獲取多個checkbox值06-10

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看