溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php下利用遞歸實現(xiàn)無限級分類

發(fā)布時間:2020-06-04 07:57:33 來源:網(wǎng)絡(luò) 閱讀:353 作者:溫小城 欄目:web開發(fā)
<?php
//分析
/*
	福建省
		福州市
		龍巖市
	廣東省
		廣州市
		佛山市
		晉江市
			江門市
	江西省
		南昌市
		贛州市
			寧都縣
			大余縣
			信封縣
		吉安市


cat_id		pri			parent_id
1			福建省			0
2			福州市			1
3			龍巖市			1
4			廣東省			0
5			廣州市			4
6			佛山市			4
7			晉江市			4	
8			江門市			7
9			江西省			0
10			南昌市			9
11			贛州市			9
12			寧都縣			11
13			大余縣			11
14			信封縣			11
15			吉安市			9
16
*/
?>

<?php
header("content-type:text/html;charset=utf-8");
//php實現(xiàn)無限分類
$area = array(
array('cat_id'=>1,'province'=>'福建省','parent_id'=>0),
array('cat_id'=>2,'province'=>'龍巖市','parent_id'=>1),
array('cat_id'=>3,'province'=>'廣東省','parent_id'=>0),
array('cat_id'=>4,'province'=>'佛山市','parent_id'=>3),
array('cat_id'=>5,'province'=>'江西省','parent_id'=>0),
array('cat_id'=>6,'province'=>'南昌市','parent_id'=>5),
array('cat_id'=>7,'province'=>'贛州市','parent_id'=>5),
array('cat_id'=>8,'province'=>'寧都縣','parent_id'=>7),
);
/*
參數(shù)說明:
$area:array 一個數(shù)組,存放了分類的欄目
$parent_id:int 用作查詢的條件
$lev:int 實現(xiàn)子欄目的縮進(jìn)
*/
function sortarea($area,$parent_id = 0,$lev = 1){
//聲明一個變量為static,這個變量是一個數(shù)組
static $list;
foreach($area as $v){
//如果父id=0,則取出頂層欄目,之后通過遞歸傳遞過來cat_id,判斷parent_id是否等于cat_id
if($v['parent_id'] == $parent_id){
//把$lev變量放進(jìn)$v的數(shù)組中去
$v['lev'] = $lev;
$list[] = $v;
sortarea($area,$v['cat_id'],$lev+1);
}
}
return $list;
}
$list = sortarea($area,0,1);
foreach($list as $v){
//用str_repeat函數(shù)實現(xiàn)子欄目縮進(jìn)
echo str_repeat('&nbsp&nbsp&nbsp',$v['lev']),$v['province'],'<br />';
}
?>
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI