欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP不用遞歸實(shí)現(xiàn)無限分級(jí)的例子分享

 更新時(shí)間:2014年04月18日 12:57:36   作者:  
這篇文章主要介紹了PHP不用遞歸實(shí)現(xiàn)無限分級(jí)的例子,實(shí)際上是一種思路,并用簡單的例子來說明,需要的朋友可以參考下

兩個(gè)不用遞歸的樹形數(shù)組操作函數(shù)

復(fù)制代碼 代碼如下:

/**
 * 創(chuàng)建父節(jié)點(diǎn)樹形數(shù)組
 * 參數(shù)
 * $ar 數(shù)組,鄰接列表方式組織的數(shù)據(jù)
 * $id 數(shù)組中作為主鍵的下標(biāo)或關(guān)聯(lián)鍵名
 * $pid 數(shù)組中作為父鍵的下標(biāo)或關(guān)聯(lián)鍵名
 * 返回 多維數(shù)組
 **/
function find_parent($ar, $id='id', $pid='pid') {
  foreach($ar as $v) $t[$v[$id]] = $v;
  foreach ($t as $k => $item){
    if( $item[$pid] ){
      if( ! isset($t[$item[$pid]]['parent'][$item[$pid]]) )
         $t[$item[$id]]['parent'][$item[$pid]] =& $t[$item[$pid]];
    }
  }
  return $t;
}


/**
 * 創(chuàng)建子節(jié)點(diǎn)樹形數(shù)組
 * 參數(shù)
 * $ar 數(shù)組,鄰接列表方式組織的數(shù)據(jù)
 * $id 數(shù)組中作為主鍵的下標(biāo)或關(guān)聯(lián)鍵名
 * $pid 數(shù)組中作為父鍵的下標(biāo)或關(guān)聯(lián)鍵名
 * 返回 多維數(shù)組
 **/
function find_child($ar, $id='id', $pid='pid') {
  foreach($ar as $v) $t[$v[$id]] = $v;
  foreach ($t as $k => $item){
    if( $item[$pid] ) {
      $t[$item[$pid]]['child'][$item[$id]] =& $t[$k];
    }
  }
  return $t;
}

使用例子:

復(fù)制代碼 代碼如下:

$data = array(
  array('ID'=>1, 'PARENT'=>0, 'NAME'=>'祖父'),
  array('ID'=>2, 'PARENT'=>1, 'NAME'=>'父親'),
  array('ID'=>3, 'PARENT'=>1, 'NAME'=>'叔伯'),
  array('ID'=>4, 'PARENT'=>2, 'NAME'=>'自己'),
  array('ID'=>5, 'PARENT'=>4, 'NAME'=>'兒子'),
);

$p = find_parent($data, 'ID', 'PARENT');
$c = find_child($data, 'ID', 'PARENT');


執(zhí)行效果:

復(fù)制代碼 代碼如下:

Array
(
    [1] => Array
        (
            [ID] => 1
            [PARENT] => 0
            [NAME] => 祖父
            [child] => Array
                (
                    [2] => Array
                        (
                            [ID] => 2
                            [PARENT] => 1
                            [NAME] => 父親
                            [child] => Array
                                (
                                    [4] => Array
                                        (
                                            [ID] => 4
                                            [PARENT] => 2
                                            [NAME] => 自己
                                            [child] => Array
                                                (
                                                    [5] => Array
                                                        (
                                                            [ID] => 5
                                                            [PARENT] => 4
                                                            [NAME] => 兒子
                                                        )

                                                )

                                        )

                                )

                        )

                    [3] => Array
                        (
                            [ID] => 3
                            [PARENT] => 1
                            [NAME] => 叔伯
                        )

                )

        )

    [2] => Array
        (
            [ID] => 2
            [PARENT] => 1
            [NAME] => 父親
            [child] => Array
                (
                    [4] => Array
                        (
                            [ID] => 4
                            [PARENT] => 2
                            [NAME] => 自己
                            [child] => Array
                                (
                                    [5] => Array
                                        (
                                            [ID] => 5
                                            [PARENT] => 4
                                            [NAME] => 兒子
                                        )

                                )

                        )

                )

        )

    [3] => Array
        (
            [ID] => 3
            [PARENT] => 1
            [NAME] => 叔伯
        )

    [4] => Array
        (
            [ID] => 4
            [PARENT] => 2
            [NAME] => 自己
            [child] => Array
                (
                    [5] => Array
                        (
                            [ID] => 5
                            [PARENT] => 4
                            [NAME] => 兒子
                        )

                )

        )

    [5] => Array
        (
            [ID] => 5
            [PARENT] => 4
            [NAME] => 兒子
        )

)

相關(guān)文章

  • CodeIgniter連貫操作的底層原理分析

    CodeIgniter連貫操作的底層原理分析

    這篇文章主要介紹了CodeIgniter連貫操作的底層原理,結(jié)合實(shí)例形式分析了CodeIgniter中常見的php oop連貫操作實(shí)現(xiàn)原理,具有很大的通用性,代碼簡單易懂,需要的朋友可以參考下
    2016-05-05
  • php使用FFmpeg接口獲取視頻的播放時(shí)長、碼率、縮略圖以及創(chuàng)建時(shí)間

    php使用FFmpeg接口獲取視頻的播放時(shí)長、碼率、縮略圖以及創(chuàng)建時(shí)間

    本篇文章主要介紹了php使用FFmpeg接口獲取視頻的播放時(shí)長、碼率、縮略圖以及創(chuàng)建時(shí)間,具有一定的參考價(jià)值,有需要的可以了解一下。
    2016-11-11
  • 關(guān)于Laravel參數(shù)驗(yàn)證的一些疑與惑

    關(guān)于Laravel參數(shù)驗(yàn)證的一些疑與惑

    這篇文章主要給大家介紹了關(guān)于Laravel參數(shù)驗(yàn)證的一些疑與惑,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Laravel框架之解決前端顯示圖片問題

    Laravel框架之解決前端顯示圖片問題

    今天小編就為大家分享一篇Laravel框架之解決前端顯示圖片問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • 實(shí)例講解yii2.0在php命令行中運(yùn)行的步驟

    實(shí)例講解yii2.0在php命令行中運(yùn)行的步驟

    Yii中的資源是和Web頁面相關(guān)的文件,可為CSS文件,JavaScript文件,圖片或視頻等,資源放在Web可訪問的目錄下,直接被Web服務(wù)器調(diào)用。本文通過實(shí)例講解yii2.0在php命令行中運(yùn)行的步驟,對(duì)yii2.0 php相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • thinkphp循環(huán)結(jié)構(gòu)用法實(shí)例

    thinkphp循環(huán)結(jié)構(gòu)用法實(shí)例

    這篇文章主要介紹了thinkphp循環(huán)結(jié)構(gòu)用法,以實(shí)例形式講解了for、volist及foreach的用法,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • java微信開發(fā)之上傳下載多媒體文件

    java微信開發(fā)之上傳下載多媒體文件

    這篇文章主要為大家詳細(xì)介紹了java微信開發(fā)之簡單實(shí)現(xiàn)上傳下載多媒體文件的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Laravel解決nesting level錯(cuò)誤和隱藏index.php的問題

    Laravel解決nesting level錯(cuò)誤和隱藏index.php的問題

    今天小編就為大家分享一篇Laravel解決nesting level錯(cuò)誤和隱藏index.php的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • PHP redis實(shí)現(xiàn)超迷你全文檢索

    PHP redis實(shí)現(xiàn)超迷你全文檢索

    這篇文章主要為大家詳細(xì)介紹了PHP redis實(shí)現(xiàn)超迷你全文檢索的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 深入理解PHP變量的值類型和引用類型

    深入理解PHP變量的值類型和引用類型

    在PHP中,大部分變量類型,如字符串,整型,浮點(diǎn),數(shù)組等都是值類型的,而類和對(duì)象是引用類型,在使用的時(shí)候,需要注意這一點(diǎn)。
    2015-10-10

最新評(píng)論