六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

php 無限級分類示例代碼

[摘要]這里首先介紹一下,什么是無限極分類?無限極分類簡單點說就是一個類可以分成多個子類,然后一個子類又可以分另外多個子類這樣無限分下去,就好象windows可以新建一個文件夾,然后在這個文件夾里又可以建一...
這里首先介紹一下,什么是無限極分類?

無限極分類簡單點說就是一個類可以分成多個子類,然后一個子類又可以分另外多個子類這樣無限分下去,就好象windows可以新建一個文件夾,然后在這個文件夾里又可以建一些個文件夾,在文件夾底下還可以建一些文件夾一樣

那php又是如何實現它的無限分類的呢?如何把它的各個分類一一列出來呢?代碼如下

<?php
/**
 * 無限級分類 類
 */
class Category{
 /**
  * 返回一維數組
  * @param [type] $cate 要遞歸的數組
  * @param string $html 子級分類前要顯示的縮進符號。默認 '─'
  * @param integer $pid 父級分類ID。默認為 0,表示頂級分類
  * @param integer $level level級,配合 $html 顯示足夠的縮進。默認為 1,表示頂級分類
  * @return [type]   [description]
  */
 static public function unlimitedForLevel($cate, $html = '─', $pid = 0, $level = 1){
  $arr = array();
  foreach($cate as $v){
   if($v['pid'] == $pid){
    $v['level'] = $level;
    $v['html'] = str_repeat($html, $level - 1);
    $arr[] = $v;
    $arr = array_merge($arr, $this->unlimitedForLevel($cate, $html, $v['id'], $level + 1));
   }
  }
  return $arr;
 }
 /**
  * 返回多維數組
  * @param [type] $cate 要遞歸的數組
  * @param string $name 子級分類在父分類數組中的 key
  * @param integer $pid 父級分類ID。默認為0,表示頂級分類
  * @return [type]  [description]
  */
 static public function unlimitedForlayer($cate, $name = 'child', $pid = 0){
  $arr = array();
  foreach($cate as $v){
   if( $v['pid'] == $pid){
    $v[$name] = self::unlimitedForlayer($cate, $name, $v['id']);
    $arr[] = $v;
   }
  }
  return $arr;
 }
 /**
  * 傳遞子分類ID返回所有父級分類
  * @param [type] $cate 要遞歸的數組
  * @param [type] $id 子分類ID
  * @return [type]  [description]
  */
 static public function getParents($cate, $id){
  $arr = array();
  foreach($cate as $v){
   if($v['id'] == $id){
    $arr[] = $v;
    $arr = array_merge(self::getParents($cate, $v['pid']), $arr);
   }
  }
  return $arr;
 }
 /**
  * 傳遞父級分類ID返回所有子分類ID
  * @param [type] $cate 要遞歸的數組
  * @param [type] $pid 父級分類ID
  * @return [type]  [description]
  */
 static public function getChildrenId($cate, $pid){
  $arr = array();
  foreach($cate as $v){
   if($v['pid'] == $pid){
    $arr[] = $v['id'];
    $arr = array_merge($arr, self::getChildrenId($cate, $v['id']));
   }
  }
  return $arr;
 }
 /**
  * 傳遞父級分類ID返回所有子級分類
  * @param [type] $cate 要遞歸的數組
  * @param [type] $pid 父級分類ID
  * @return [type]  [description]
  */
 static public function getChildren($cate, $pid){
  $arr = array();
  foreach($cate as $v){
   if($v['pid'] == $pid){
    $arr[] = $v;
    $arr = array_merge($arr, self::getChildren($cate, $v['id']));
   }
  }
  return $arr;
 }
}
?>

以上就是php 無限級分類示例代碼的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 色姣姣狠狠撩综合网 | 四虎免费在线视频 | 啪啪激情综合 | 午夜色大片 | 青草 | 婷婷综合缴情亚洲五月伊 | 日日天天夜夜 | 深夜成人福利视频 | 日日夜夜拍 | 伊人久久大香网 | 日本高清视频免费观看 | 天天夜干 | 全部免费毛片免费播放 | 亚洲啪啪免费视频 | 欧美亚洲国产视频 | 星辰影院免费 | 色五夜婷婷 | 青娱乐极品视频在线观看 | 天堂福利在线 | 色综合久久婷婷天天 | 午夜丁香婷婷 | 中文字幕在线有码高清视频 | 亚洲免费视频在线 | 素人天堂 | 亚洲人一区 | 日韩特级毛片免费观看视频 | 日本男女动态图 | 欧美性大战久久久久久久 | 在线欧美国产 | 四虎影视最新 | 亚洲艹 | 日本大片在线播放在线 | 青青草原伊人网 | 亚洲va久久久噜噜噜久久狠狠 | 天天干夜夜笙歌 | 天天舔日日干 | 日韩专区中文字幕 | 日韩成人免费视频 | 日本不卡一区二区三区视频 | 日产日韩亚洲欧美综合搜索 | 天堂亚洲国产日韩在线看 |