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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php根据分类生成网址,PHP实现无限极分类生成分类树的方法

發(fā)布時間:2024/7/19 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php根据分类生成网址,PHP实现无限极分类生成分类树的方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文實例講述了PHP實現(xiàn)無限極分類生成分類樹的方法。分享給大家供大家參考,具體如下:

現(xiàn)在的分類數(shù)據(jù)庫設計基本都是:每一個分類有一個id主鍵字段,一個pid指向父類的id,這樣便可實現(xiàn)無限級分類,取出的數(shù)據(jù)就是如下的格式:

$arr = array(

array("id" => 1 , "pid" => 0 , 'cat' => '欄目一'),

array("id" => 2 , "pid" => 0 , 'cat' => '欄目二'),

array("id" => 3 , "pid" => 1 , 'cat' => '欄目三'),

array("id" => 4 , "pid" => 2 , 'cat' => '欄目四'),

array("id" => 5 , "pid" => 1 , 'cat' => '欄目五'),

array("id" => 6 , "pid" => 5 , 'cat' => '欄目六'),

array("id" => 7 , "pid" => 5 , 'cat' => '欄目七'),

array("id" => 8 , "pid" => 6 , 'cat' => '欄目八'),

array("id" => 9 , "pid" => 1 , 'cat' => '欄目九'),

array("id" => 10 , "pid" => 0 , 'cat' => '欄目十'),

array("id" => 11 , "pid" => 10 , 'cat' => '欄目十一'),

array("id" => 12 , "pid" => 11 , 'cat' => '欄目十二'),

array("id" => 13 , "pid" => 2 , 'cat' => '欄目十三'),

array("id" => 14, "pid" => 13 , 'cat' => '欄目十四')

);

不多說,直接上處理代碼:

//生成無限極分類樹

function make_tree($arr){

$refer = array();

$tree = array();

foreach($arr as $k => $v){

$refer[$v['id']] = & $arr[$k]; //創(chuàng)建主鍵的數(shù)組引用

}

foreach($arr as $k => $v){

$pid = $v['pid']; //獲取當前分類的父級id

if($pid == 0){

$tree[] = & $arr[$k]; //頂級欄目

}else{

if(isset($refer[$pid])){

$refer[$pid]['subcat'][] = & $arr[$k]; //如果存在父級欄目,則添加進父級欄目的子欄目數(shù)組中

}

}

}

return $tree;

}

測試運行:

$cat = make_tree($arr);

print_r($cat);

運行結果:

Array

(

[0] => Array

(

[id] => 1

[pid] => 0

[cat] => 欄目一

[subcat] => Array

(

[0] => Array

(

[id] => 3

[pid] => 1

[cat] => 欄目三

)

[1] => Array

(

[id] => 5

[pid] => 1

[cat] => 欄目五

[subcat] => Array

(

[0] => Array

(

[id] => 6

[pid] => 5

[cat] => 欄目六

[subcat] => Array

(

[0] => Array

(

[id] => 8

[pid] => 6

[cat] => 欄目八

)

)

)

[1] => Array

(

[id] => 7

[pid] => 5

[cat] => 欄目七

)

)

)

[2] => Array

(

[id] => 9

[pid] => 1

[cat] => 欄目九

)

)

)

[1] => Array

(

[id] => 2

[pid] => 0

[cat] => 欄目二

[subcat] => Array

(

[0] => Array

(

[id] => 4

[pid] => 2

[cat] => 欄目四

)

[1] => Array

(

[id] => 13

[pid] => 2

[cat] => 欄目十三

[subcat] => Array

(

[0] => Array

(

[id] => 14

[pid] => 13

[cat] => 欄目十四

)

)

)

)

)

[2] => Array

(

[id] => 10

[pid] => 0

[cat] => 欄目十

[subcat] => Array

(

[0] => Array

(

[id] => 11

[pid] => 10

[cat] => 欄目十一

[subcat] => Array

(

[0] => Array

(

[id] => 12

[pid] => 11

[cat] => 欄目十二

)

)

)

)

)

)

如果大家需要這樣的組裝格式,或者需要該格式方便后續(xù)的處理,可以嘗試此方法

更多關于PHP相關內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結構與算法教程》、《php程序設計算法總結》、《PHP常用遍歷算法與技巧總結》、《PHP數(shù)學運算技巧總結》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

總結

以上是生活随笔為你收集整理的php根据分类生成网址,PHP实现无限极分类生成分类树的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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