以前實現(xiàn)無限分類都沒好好研究過,今天突然來興趣就隨手寫了一個遞歸的無限極分類,希望對大家有借鑒意義!
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設,會寧企業(yè)網(wǎng)站建設,會寧品牌網(wǎng)站建設,網(wǎng)站定制,會寧網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,會寧網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
1,'name'=>1,'fid'=>0), array('id'=>2,'name'=>2,'fid'=>0), array('id'=>3,'name'=>3,'fid'=>0), array('id'=>4,'name'=>4,'fid'=>1), array('id'=>5,'name'=>5,'fid'=>2), array('id'=>6,'name'=>6,'fid'=>3), array('id'=>7,'name'=>7,'fid'=>4), array('id'=>8,'name'=>8,'fid'=>9), array('id'=>9,'name'=>9,'fid'=>4) ); /** * 無限分類遞歸函數(shù) * @param array $data 分類信息 * @param string $fid 父類id * @param integer $pad 頁面顯示的縮進大小 * @return string 拼接好的菜單(可以根據(jù)具體需求做修改) */ function menu(&$data, $fid, $pad=0) { if(count($data) < 1) { return; } //拼接字符串 $str = ''; foreach ($data as $key => $value) { if($value['fid'] == $fid) { $str .= str_repeat(' ', $pad); $str .= $value['name'].'
'; unset($data[$key]); //遞歸 $str .= menu($data,$value['id'],$pad+1); } } return $str; } echo menu($data,0); /*結果 1 4 7 9 8 2 5 3 6 */