国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php 無限分類實現方法實例代碼

2024-05-04 21:52:58
字體:
來源:轉載
供稿:網友

算法,各種算法對一個數學很爛的人來說真是一個嚴重的打擊!!!但誰讓咱干程序這行呢(哭)。

搞了幾小時,參照 http://yuepin.com/Explore/tree.php? 該網址的說明實例,可算是明白一點,下邊代碼,給自己留個筆記。

注:因為是無限次的調用,所以我加了個判斷,在層級$level=10的時候讓他跳出。沒有哪個正常網站會放超過10層的目錄結構吧。 

  1. $yArr    = array
  2.     1 => array('id'=>'1','parentid'=>0,'name'=>'一級欄目一'), 
  3.     2 => array('id'=>'2','parentid'=>0,'name'=>'一級欄目二'), 
  4.     3 => array('id'=>'3','parentid'=>1,'name'=>'二級欄目一'), 
  5.     4 => array('id'=>'4','parentid'=>1,'name'=>'二級欄目二'), 
  6.     5 => array('id'=>'5','parentid'=>2,'name'=>'二級欄目三'), 
  7.     6 => array('id'=>'6','parentid'=>3,'name'=>'三級欄目一'), 
  8.     7 => array('id'=>'7','parentid'=>3,'name'=>'三級欄目二'), 
  9.     8 => array('id'=>'8','parentid'=>2,'name'=>'二級欄目三'), 
  10. ); 
  11.  
  12. /** 
  13.  * 無限分類 
  14.  * @param array $data 原始數組 
  15.  * @param int $id 當前id 
  16.  * @param int $layer 當前層級 
  17.  */ 
  18. function genCate($data$pid = 0, $level = 0) 
  19.     if($level == 10) break
  20.     static $tarrarray(); 
  21.     $l    = str_repeat(" "$level); 
  22.     $l    = $l.'└'
  23.     foreach($data as $row
  24.     { 
  25.         /** 
  26.          * 如果父ID為當前傳入的id  www.CuoXIn.com 
  27.          */ 
  28.         if($row['parentid'] == $pid
  29.         { 
  30.             //如果當前遍歷的id不為空 
  31.             $row['name']    = htmlspecialchars($l.$row['name']); 
  32.             $row['level']    = $level
  33.             $tarr[]    = $row
  34.             genCate($data$row['id'], $level+1);//遞歸調用 
  35.         } 
  36.     } 
  37.     return $tarr
  38. $carr    = genCate($yArr); 
  39. print_r($carr); 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 余干县| 灵川县| 新野县| 江达县| 怀安县| 施秉县| 梅州市| 佛学| 龙川县| 武宁县| 苗栗县| 襄垣县| 鄂托克前旗| 乌苏市| 奇台县| 盐源县| 泰安市| 阿拉善右旗| 讷河市| 永州市| 湖州市| 文成县| 溧阳市| 辰溪县| 平顶山市| 郧西县| 邵东县| 鱼台县| 东乌珠穆沁旗| 三门峡市| 民和| 宜城市| 巫溪县| 蒲江县| 赞皇县| 汕尾市| 九台市| 敦煌市| 临泉县| 敖汉旗| 贡山|