亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PHP利用遞歸函數(shù)實(shí)現(xiàn)無限級分類的方法

 更新時(shí)間:2019年03月22日 10:01:53   作者:CODETC  
今天小編就為大家分享一篇關(guān)于PHP利用遞歸函數(shù)實(shí)現(xiàn)無限級分類的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

相信很多學(xué)php的很多小伙伴都會(huì)嘗試做一個(gè)網(wǎng)上商城作為提升自己技術(shù)的一種途徑。各種對商品分類,商品名之類的操作應(yīng)該是得心應(yīng)手,那么就可以嘗試下無限級分類列表的制作了。

什么是無限級分類?

無限級分類是一種分類技巧,例如部門組織,文章分類,學(xué)科分類等常用到無限級分類,將其簡單理解成分類就好了。其實(shí)我們仔細(xì)想一下,生活中的分類簡直太多了,衣服可以分為男裝和女裝,也可以分為上衣和褲子,也可以根據(jù)年齡段分類。分類無處不在,分類顯得“無限”。我這里就不說無限分類的必要性了。

無限級分類原理簡介

無限分類看似"高大上",實(shí)際上原理是非常簡單的 。無限分類不僅僅需要代碼的巧妙性,也要依托數(shù)據(jù)庫設(shè)計(jì)的合理性。要滿足無限級分類,數(shù)據(jù)庫需要有兩個(gè)必須的字段,id,pid。id用來標(biāo)識(shí)自身,而pid則是用來表明父級id。也就是說,每個(gè)分類記錄不僅描述了自身,還描述了與其關(guān)心最為緊密的另一個(gè)id??此茝?fù)雜的事情被這樣一個(gè)小技巧解決了。

php無限級分類是經(jīng)常要用到的,本人以前一直用的是已經(jīng)寫好的,所以沒仔細(xì)去研究過,下面是一個(gè)使用遞歸實(shí)現(xiàn)的簡單的php無限級分類的函數(shù);也許這不是最優(yōu)的方法,但對于一般的應(yīng)用也足夠了。

數(shù)據(jù)表結(jié)構(gòu)

CREATE TABLE IF NOT EXISTS `category` (
 `id` int(5) NOT NULL AUTO_INCREMENT COMMENT '唯一自增id',
 `pid` int(5) NOT NULL DEFAULT '0' COMMENT '父id',
 `sort` int(2) NOT NULL DEFAULT '0' COMMENT '排序數(shù)字',
 `name` varchar(30) DEFAULT NULL COMMENT '名稱',
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='無限極分類表' AUTO_INCREMENT=1 ;

數(shù)據(jù)

INSERT INTO `category` (`id`, `pid`, `sort`, `name`) VALUES
(1, 0, 1, 'php'),
(2, 0, 2, '數(shù)據(jù)庫'),
(3, 0, 3, 'javascript'),
(4, 1, 1, '框架模板'),
(5, 1, 2, '函數(shù)總結(jié)'),
(6, 2, 1, 'mysql'),
(7, 4, 1, '框架'),
(8, 4, 2, '模板'),
(9, 8, 1, 'smarty'),
(10, 7, 2, 'thinkphp'),
(11, 10, 1, 'thinkphp技巧'),
(12, 10, 2, 'thinkphp模板'),
(13, 12, 3, '模板知識(shí)總結(jié)'),
(14, 12, 2, '模板視頻教程'),
(15, 11, 1, 'model技巧');

函數(shù)實(shí)現(xiàn)代碼

function tree(&$list,$pid=0,$level=0,$html='--'){
  static $tree=array();
  foreach($list as $v){
    if($v['pid']==$pid){
      $v['level']=$level;
      $v['html']=str_repeat($html,$level);
      $tree[]=$v;
      tree($list,$v['id'],$level+1,$html);
    } 
  }
  return $tree;
}

以上tree函數(shù)的第一個(gè)參數(shù)$list就是獲取的如上表的一個(gè)二維數(shù)組的結(jié)果集。需要注意的是從數(shù)據(jù)庫獲取結(jié)果集的sql語句必須加上order by sort asc,否則sort字段將不能發(fā)揮排序的作用。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • PHP遠(yuǎn)程調(diào)用以及RPC框架

    PHP遠(yuǎn)程調(diào)用以及RPC框架

    這篇文章主要介紹了PHP遠(yuǎn)程調(diào)用以及RPC框架,對遠(yuǎn)程調(diào)用感興趣的同學(xué),可以參考下
    2021-04-04
  • PHP連接MySQL查詢結(jié)果中文顯示亂碼解決方法

    PHP連接MySQL查詢結(jié)果中文顯示亂碼解決方法

    MySQL和Apache兩個(gè)系統(tǒng)的編碼(字符集)問題讓我費(fèi)勁腦筋,吃盡苦頭。網(wǎng)上對這些問題的解決比較零散,比較片面,大部分是提供解決方法,卻不說為什么。于是我將這幾天收獲總結(jié)一下,避免后來者再走彎路
    2013-10-10
  • laravel源碼分析隊(duì)列Queue方法示例

    laravel源碼分析隊(duì)列Queue方法示例

    這篇文章主要為大家介紹了laravel源碼分析隊(duì)列Queue方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪<BR>
    2022-04-04
  • php使用parse_url和parse_str解析URL

    php使用parse_url和parse_str解析URL

    本文主要向大家介紹了php中2個(gè)解析URL的方法(parse_url和parse_str),以及這2種方法的簡介和用法,十分全面,推薦給有需要的小伙伴們。
    2015-02-02
  • Linux下實(shí)現(xiàn)PHP多進(jìn)程的方法分享

    Linux下實(shí)現(xiàn)PHP多進(jìn)程的方法分享

    PHP多進(jìn)程:使用PHP的Process Control Functions(PCNTL/線程控制函數(shù)),需要的朋友可以參考下
    2012-08-08
  • PHP信號(hào)量基本用法實(shí)例詳解

    PHP信號(hào)量基本用法實(shí)例詳解

    這篇文章主要介紹了PHP信號(hào)量基本用法,較為詳細(xì)的分析了PHP信號(hào)量的基本概念、使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-02-02
  • PHP與MySQL開發(fā)中頁面出現(xiàn)亂碼的一種解決方法

    PHP與MySQL開發(fā)中頁面出現(xiàn)亂碼的一種解決方法

    PHP與MySQL開發(fā)中頁面出現(xiàn)亂碼的一種解決方法...
    2007-07-07
  • PHP中l(wèi)trim()函數(shù)的用法與實(shí)例講解

    PHP中l(wèi)trim()函數(shù)的用法與實(shí)例講解

    今天小編就為大家分享一篇關(guān)于PHP中l(wèi)trim()函數(shù)的用法與實(shí)例講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • PHP header函數(shù)分析詳解

    PHP header函數(shù)分析詳解

    PHP只是以HTTP協(xié)議將HTML文檔的標(biāo)頭送到瀏覽器,告訴瀏覽器具體怎么處理這個(gè)頁面,至于傳送的內(nèi)容則需要熟悉一下HTTP協(xié)議了,與PHP無關(guān)
    2011-08-08
  • php抽象類用法實(shí)例分析

    php抽象類用法實(shí)例分析

    這篇文章主要介紹了php抽象類用法,以實(shí)例形式深入淺出的分析了php中抽象類的概念、定義及實(shí)現(xiàn)方法,需要的朋友可以參考下
    2015-07-07

最新評論