第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

關(guān)于排序的問題

關(guān)于排序的問題

ibeautiful 2019-04-13 08:36:03
現(xiàn)在有一個(gè)分類表包含如下字段idparentid父idorder該項(xiàng)在其所處層級(jí)的顯示順序,值越小越靠前text內(nèi)容比如像下邊這樣的數(shù)據(jù)(text字段內(nèi)容只是為了方便說明才這么寫,實(shí)際內(nèi)容不是這樣):idparentidordertext10101200231201-241101-153201-2-263101-2-172302-1如何將其排序?yàn)椋ù篌w是按parentid和order排序)idparentidordertext200272302-11010141101-131201-263101-2-153201-2-2簡單來說就是一個(gè)無限分類的子分類排序問題。先按照父子分類排序,再將所有同級(jí)分類按照order排序。我目前用的是最笨的方法,就是將每層分類單獨(dú)讀取出來(遞歸),排序好后在插入到總數(shù)組中,而且目前只測試了對3級(jí)分類的支持,但是感覺這種效率好低啊,不知道有沒有什么好的算法,望大神幫忙,或指點(diǎn)一二,做好基于php。
查看完整描述

2 回答

?
ITMISS

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊

數(shù)據(jù)結(jié)構(gòu):為所有頂級(jí)分類設(shè)置一個(gè)虛擬的父分類,然后每個(gè)分類有一個(gè)指向其已序子分類數(shù)組的引用。
排序操作:在每個(gè)節(jié)點(diǎn)上執(zhí)行獲取所有子分類并排序后保存到一個(gè)數(shù)組中的操作。
如果非得要放在同一個(gè)數(shù)組中,那就在排序完成以后再把結(jié)果按順序放到一個(gè)數(shù)組里。
當(dāng)然,我還是建議修改讀取數(shù)組的方法,讓它能夠解析樹形結(jié)構(gòu)。
                            
查看完整回答
反對 回復(fù) 2019-04-13
?
德瑪西亞99

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊

我有個(gè)思路,從數(shù)據(jù)庫獲取數(shù)據(jù)時(shí),根據(jù)parentid和order排序,orderbyparentidasc,orderasc
獲取到所有數(shù)據(jù)在到php里一個(gè)循環(huán):
foreach($listas$v){
$tmp[$v['parentid']][]=$v;
}
這樣是排好序的,有子集的根節(jié)點(diǎn)
這時(shí)候再來一個(gè)遞歸,將根節(jié)點(diǎn)加入就行了
                            
查看完整回答
反對 回復(fù) 2019-04-13
  • 2 回答
  • 0 關(guān)注
  • 268 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)