無(wú)限級(jí)分類與php數(shù)組函數(shù)學(xué)習(xí)

獲取用戶個(gè)人的物品類型側(cè)菜單欄

  • 功能要求描述
    現(xiàn)在項(xiàng)目涉及物品的類型美莫,其實(shí)是無(wú)限級(jí)分類的處理嗓蘑,但是項(xiàng)目要求不僅要獲取所有的物品類型的分類的無(wú)限級(jí)展示塘砸,還要可以獲取到用戶個(gè)人的無(wú)限級(jí)分類扼倘。
  • 面臨問(wèn)題
    用戶發(fā)布物品時(shí)遇绞,選擇物品類型嗓奢,其實(shí)前端提交的是類型的typeId,如果用戶選擇了類型中的子分類讼撒,其中所有的美物中都未涉及此子分類的父級(jí)分類,想要使所有的分類可以在前端顯示時(shí),有一級(jí)根盒,二級(jí)等標(biāo)題之分钳幅,要使用無(wú)限級(jí)分類的函數(shù)進(jìn)行處理時(shí),但針對(duì)此情況就會(huì)發(fā)生數(shù)據(jù)的丟失炎滞。
  • 問(wèn)題解決
    思路:先通過(guò)連表查詢獲取用戶的所有物品類型敢艰,之后遍歷數(shù)據(jù)或許兩個(gè)id的數(shù)組$pid[],$child[],這樣就獲取了所有物品類型中,無(wú)父級(jí)類型的子類型册赛。之后在$pid[]中去掉==0的情況钠导,之后合并兩個(gè)數(shù)組,再array_unique的數(shù)組森瘪,之后獲取仔獲取所有信息牡属,之后再使用無(wú)限級(jí)分類函數(shù)。問(wèn)題就可以解決了扼睬!
$typesInfo=$type->field('a.*')->alias('a')->join('LEFT JOIN cu_collection b ON b.typeId=a.typeId')
 ->group('a.typeId')->where(array('userId'=>$userId))->select();
/**
         * 1.在添加美物類型時(shí)逮栅,會(huì)只選到子類型,并無(wú)父級(jí)類型
         * 2.之后循環(huán)遍歷窗宇,取得父類型
         */
        foreach($typesInfo as $item) {
            $pid[]= $item['pid'];
            $chilid[]=$item['typeid'];
        }
        //去除id==0
        foreach($pid as $k=>$v){
            if($v==0){
                unset($pid[$k]);
            }
        }
        $mergeId=array_merge($pid,$chilid);
        $resultId=array_unique($mergeId);
        foreach($resultId as $item){
            $resultType[]=$type->where(['typeid='.$item])->find();
        }
        //對(duì)獲取的類別進(jìn)行一級(jí)二級(jí)的展示
        $result=$this->resort($resultType);

問(wèn)題解決中學(xué)到的知識(shí)點(diǎn)

  • PHP數(shù)組函數(shù)序列之a(chǎn)rray_unique() - 去除數(shù)組中重復(fù)的元素值
  • PHP刪除一維數(shù)組中某一個(gè)值元素的操作 unset()
    http://www.jb51.net/article/39401.htm
    使用array_splice()刪除特定值和使用unset刪除特定值是有區(qū)別的措伐。
    array_splice()函數(shù)刪除的話,數(shù)組的索引值也變化了军俊。
    unset()函數(shù)刪除的話侥加,數(shù)組的索引值沒(méi)有變化。
<?php
$arr1 = array(1,3, 5,7,8);
$key = array_search(3, $arr1);
if ($key !== false)
    array_splice($arr1, $key, 1);
var_dump($arr1);
?>

輸出為:

array(4) { [0]=> int(1) [1]=> int(5) [2]=> int(7) [3]=> int(8) }
  • PHP array_push() 函數(shù) array_push()
    函數(shù)向第一個(gè)參數(shù)的數(shù)組尾部添加一個(gè)或多個(gè)元素(入棧)蝇完,然后返回新數(shù)組的長(zhǎng)度官硝。
    該函數(shù)等于多次調(diào)用 $array[] = $value。
終于解決了一個(gè)困擾我好久的一個(gè)問(wèn)題短蜕,開(kāi)心氢架,好好學(xué)習(xí),天天向上朋魔,是對(duì)的a小!警检!

總結(jié)

2017年7月30日 好好學(xué)習(xí)孙援,天天向上,今天也是扇雕。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拓售,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子镶奉,更是在濱河造成了極大的恐慌础淤,老刑警劉巖崭放,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異鸽凶,居然都是意外死亡币砂,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門玻侥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)决摧,“玉大人,你說(shuō)我怎么就攤上這事凑兰≌谱” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵票摇,是天一觀的道長(zhǎng)拘鞋。 經(jīng)常有香客問(wèn)我,道長(zhǎng)矢门,這世上最難降的妖魔是什么盆色? 我笑而不...
    開(kāi)封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮祟剔,結(jié)果婚禮上隔躲,老公的妹妹穿的比我還像新娘。我一直安慰自己物延,他們只是感情好宣旱,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布叛薯。 她就那樣靜靜地躺著,像睡著了一般耗溜。 火紅的嫁衣襯著肌膚如雪组力。 梳的紋絲不亂的頭發(fā)上抖拴,一...
    開(kāi)封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音阿宅,去河邊找鬼。 笑死洒放,一個(gè)胖子當(dāng)著我的面吹牛蛉鹿,可吹牛的內(nèi)容都是我干的往湿。 我是一名探鬼主播妖异,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼惨好,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了随闺?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蔓腐,失蹤者是張志新(化名)和其女友劉穎矩乐,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體回论,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡散罕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了傀蓉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片欧漱。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖葬燎,靈堂內(nèi)的尸體忽然破棺而出误甚,到底是詐尸還是另有隱情,我是刑警寧澤谱净,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布窑邦,位于F島的核電站,受9級(jí)特大地震影響壕探,放射性物質(zhì)發(fā)生泄漏冈钦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一李请、第九天 我趴在偏房一處隱蔽的房頂上張望瞧筛。 院中可真熱鬧,春花似錦导盅、人聲如沸较幌。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)绅络。三九已至,卻和暖如春嘁字,著一層夾襖步出監(jiān)牢的瞬間恩急,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工纪蜒, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留衷恭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓纯续,卻偏偏與公主長(zhǎng)得像随珠,于是被迫代替她去往敵國(guó)和親灭袁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容