日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

无限极分类不知pid_PHP实现无限极分类

發(fā)布時(shí)間:2025/3/21 php 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 无限极分类不知pid_PHP实现无限极分类 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
導(dǎo)讀:說(shuō)到無(wú)限極分類,這個(gè)在程序中是常見(jiàn)的一個(gè)功能點(diǎn)了。實(shí)現(xiàn)的方式也有很多種,今天著重分享一下涉及到數(shù)據(jù)庫(kù)的無(wú)線分類,可以使用遞歸處理,也可以使用循環(huán)查詢數(shù)據(jù)庫(kù)處理。但是我們考慮到數(shù)據(jù)庫(kù)的性能問(wèn)題,都不建議采用循環(huán)查庫(kù)。都是直接設(shè)計(jì)好數(shù)據(jù)表,直接查庫(kù),通過(guò)代碼層實(shí)現(xiàn)。

1.我們實(shí)現(xiàn)準(zhǔn)備好數(shù)據(jù)表,代碼結(jié)構(gòu)如下。

CREATE TABLE `bg_cate` ( `cate_Id` int(30) unsigned NOT NULL AUTO_INCREMENT, `cate_ParentId` int(30) unsigned DEFAULT '0', `cate_Name` varchar(100) NOT NULL, `cate_Intro` varchar(500) DEFAULT NULL, `cate_Order` int(30) unsigned DEFAULT '0', `cate_Icon` varchar(100) DEFAULT NULL, PRIMARY KEY (`cate_Id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=34 ; INSERT INTO `bg_cate` (`cate_Id`, `cate_ParentId`, `cate_Name`, `cate_Intro`, `cate_Order`, `cate_Icon`) VALUES (4, 0, '往事如風(fēng)', '記錄往事', 0, 'icons/6.gif'), (5, 0, '水煮三國(guó)', '品位三國(guó)智慧', 0, 'icons/3.gif'), (2, 0, '技術(shù)學(xué)習(xí)', '平時(shí)學(xué)習(xí)的一些筆記,歡迎批評(píng)指正。', 0, 'icons/18.gif'), (3, 0, '生活點(diǎn)滴', '記錄生活點(diǎn)滴', 0, 'icons/2.gif'), (6, 0, '梔子花開(kāi)', '青春無(wú)限', 0, 'icons/8.gif'), (7, 0, '假日休閑', '悠閑、自在', 0, 'icons/24.gif'), (8, 2, 'html', 'html學(xué)習(xí)', 0, 'icons/1.gif'), (9, 2, 'css', 'css學(xué)習(xí)', 0, 'icons/1.gif'), (10, 2, 'php', 'php學(xué)習(xí)', 0, 'icons/18.gif'), (11, 10, 'php基礎(chǔ)知識(shí)', 'php基礎(chǔ)知識(shí)', 0, 'icons/1.gif'), (12, 10, 'oop', 'oop', 0, 'icons/1.gif'), (13, 10, 'php安全', '講述php安全', 0, 'icons/1.gif'), (14, 10, 'seagull framework', 'seagull framework', 0, 'icons/1.gif'), (15, 2, 'javascript', 'javascript學(xué)習(xí)', 0, 'icons/1.gif'), (16, 2, '設(shè)計(jì)模式', NULL, 0, 'icons/1.gif'), (17, 2, '軟件工程', '軟件工程學(xué)習(xí)', 0, 'icons/1.gif'), (18, 3, '廈門生活', '廈門生活', 0, 'icons/8.gif'), (19, 3, '大學(xué)生活', '大學(xué)生活', 0, 'icons/8.gif'), (20, 3, '童年生活', '童年生活', 0, 'icons/15.gif'), (21, 19, '學(xué)習(xí)', '學(xué)習(xí)', 0, 'icons/1.gif'), (22, 19, '運(yùn)動(dòng)', '運(yùn)動(dòng)', 0, 'icons/16.gif'), (23, 19, '旅游', '旅游', 0, 'icons/24.gif'), (24, 22, '排球', '排球', 0, 'icons/9.gif'), (25, 22, '籃球', '籃球', 0, 'icons/9.gif'), (26, 22, '羽毛球', '羽毛球', 0, 'icons/9.gif'), (27, 22, '乒乓球', '乒乓球', 0, 'icons/9.gif');

2.查詢數(shù)據(jù)表數(shù)據(jù)

select * from bg_cate cate

3.代碼遞歸處理數(shù)據(jù),是數(shù)據(jù)結(jié)構(gòu)呈現(xiàn)為樹(shù)狀結(jié)構(gòu)

function getTree($data, $pId) {$tree = [];foreach($data as $k => $v){if($v['cate_ParentId'] == $pId){ $v['children'] = getTree($data, $v['cate_Id']);$tree[] = $v;}}return $tree; } // 這里的0就是頂級(jí)分類中的cate_ParentId $tree = getTree($data, 0);

前面屬于個(gè)人案例,下面分享一個(gè)網(wǎng)上比較簡(jiǎn)潔的遞歸算法。

<?php // 這里為了篇幅就不展現(xiàn)運(yùn)行效果,這段代碼確保是可以正常運(yùn)行的。 直接使用即可。下面分享自己使用該demo實(shí)現(xiàn)的。 function genTree5($items) { foreach ($items as $item) $items[$item['pid']]['son'][$item['id']] = &$items[$item['id']]; return isset($items[0]['son']) ? $items[0]['son'] : array(); } /*** 將數(shù)據(jù)格式化成樹(shù)形結(jié)構(gòu)* @author Xuefen.Tong* @param array $items* @return array */ function genTree9($items) {$tree = array(); //格式化好的樹(shù)foreach ($items as $item)if (isset($items[$item['pid']]))$items[$item['pid']]['son'][] = &$items[$item['id']];else$tree[] = &$items[$item['id']];return $tree; } $items = array(1 => array('id' => 1, 'pid' => 0, 'name' => '江西省'),2 => array('id' => 2, 'pid' => 0, 'name' => '黑龍江省'),3 => array('id' => 3, 'pid' => 1, 'name' => '南昌市'),4 => array('id' => 4, 'pid' => 2, 'name' => '哈爾濱市'),5 => array('id' => 5, 'pid' => 2, 'name' => '雞西市'),6 => array('id' => 6, 'pid' => 4, 'name' => '香坊區(qū)'),7 => array('id' => 7, 'pid' => 4, 'name' => '南崗區(qū)'),8 => array('id' => 8, 'pid' => 6, 'name' => '和興路'),9 => array('id' => 9, 'pid' => 7, 'name' => '西大直街'),10 => array('id' => 10, 'pid' => 8, 'name' => '東北林業(yè)大學(xué)'),11 => array('id' => 11, 'pid' => 9, 'name' => '哈爾濱工業(yè)大學(xué)'),12 => array('id' => 12, 'pid' => 8, 'name' => '哈爾濱師范大學(xué)'),13 => array('id' => 13, 'pid' => 1, 'name' => '贛州市'),14 => array('id' => 14, 'pid' => 13, 'name' => '贛縣'),15 => array('id' => 15, 'pid' => 13, 'name' => '于都縣'),16 => array('id' => 16, 'pid' => 14, 'name' => '茅店鎮(zhèn)'),17 => array('id' => 17, 'pid' => 14, 'name' => '大田鄉(xiāng)'),18 => array('id' => 18, 'pid' => 16, 'name' => '義源村'),19 => array('id' => 19, 'pid' => 16, 'name' => '上壩村'), ); echo "<pre>"; print_r(genTree5($items)); print_r(genTree9($items));function getTree($data, $pid) {$list = [];foreach($data as $key=>$val) {if($val['pid'] == $pid){$val['children'] = getTree($data, $val['id']);$list[] = $val;}}return $list; } print_r(getTree($items, 0));

以上內(nèi)容希望幫助到大家,很多PHPer在進(jìn)階的時(shí)候總會(huì)遇到一些問(wèn)題和瓶頸,業(yè)務(wù)代碼寫多了沒(méi)有方向感,不知道該從那里入手去提升,對(duì)此我整理了一些資料,包括但不限于:分布式架構(gòu)、高可擴(kuò)展、高性能、高并發(fā)、服務(wù)器性能調(diào)優(yōu)、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優(yōu)化、shell腳本、Docker、微服務(wù)、Nginx等多個(gè)知識(shí)點(diǎn)高級(jí)進(jìn)階干貨需要的可以免費(fèi)分享給大家,需要

PHP進(jìn)階架構(gòu)師>>>視頻、面試文檔免費(fèi)獲取?shimo.im

或 者關(guān)注咱們下面的知乎專欄

PHP大神進(jìn)階?zhuanlan.zhihu.com

總結(jié)

以上是生活随笔為你收集整理的无限极分类不知pid_PHP实现无限极分类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲香蕉| av片免费在线 | 夜色视频在线观看 | 国产av成人一区二区三区高清 | 色噜噜色狠狠 | 国产又粗又长视频 | h视频在线观看网站 | 国产精品香蕉国产 | 美女国产免费 | 久久在线电影 | 国产一国产精品一级毛片 | 成年人免费看视频 | 亚洲精品tv| 日韩一级黄色 | 欧美激情在线观看 | 国产美女主播 | 91丝袜一区二区三区 | 欧美一级视频 | 风韵少妇性饥渴推油按摩视频 | 欧美一级免费 | 久久久久久久久久久久久久久久久久久久 | 国产盗摄一区二区三区 | 亚洲精品国产精品国自产 | 五月婷婷综合久久 | 中文字幕亚洲在线观看 | 国产又粗又大又爽 | 日韩精品视频三区 | 日韩一区二区不卡 | 老司机av福利 | 老司机深夜福利在线观看 | 中国一区二区三区 | 8x8x永久免费视频 | 国产资源网站 | 亚洲av无码一区二区乱子伦as | 无码精品人妻一区二区三区影院 | 99久久精品国产一区二区三区 | 五月婷婷色综合 | 国产极品免费 | www.成人精品 | 久色电影 | 中文字幕在线观看一区二区三区 | 香蕉视频黄色 | 久久久www成人免费精品 | 亚洲成年人免费观看 | 美女扒开尿口让男人捅爽 | 九九热精品视频 | 五月婷网站 | 稀缺小u女呦精品呦 | 你懂的网址在线观看 | www在线免费观看 | 鲁丝一区二区 | 一二三四国产精品 | 色国产在线| 亚洲一区二区动漫 | 亚洲色图网站 | 国产日韩一区二区在线 | 男人的天堂欧美 | 国产馆在线观看 | 女人又爽又黄免费女仆 | 久久久久久在线观看 | 午夜一区二区三区免费 | 国产九区 | 午夜三区 | 伊人涩涩 | 一区二区网站 | 一区二区三区精品在线 | 好了av在线| 亚洲国产成人91porn | 成人片在线视频 | 成人在线一区二区三区 | 国产女教师一区二区三区 | 扒开女人屁股进去 | 大陆一级黄色片 | 一区二区三区精品在线 | av免费网页 | 妺妺窝人体色www婷婷 | 午夜淫片| 成人www视频| 国产又色又爽又高潮免费 | 精品久久久久亚洲 | 成人在线播放av | 99欧美| 国产簧片 | 欧美一区二区三区在线观看 | 国产精品国产三级国产专区52 | 波多野结衣视频免费在线观看 | 综合伊人久久 | 国产精品无码一区二区三区在线看 | 欧美日韩福利视频 | 一级草逼片 | 亚洲午夜网站 | 红桃视频国产精品 | 一区二区三区免费看视频 | 久久水蜜桃 | 亚洲石原莉奈一区二区在线观看 | 欧美理论在线观看 | 欧美精品激情视频 | 奇米影视亚洲 | 中国黄色一级片 |