久久久久久AV无码免费看大片,亚洲一区精品人人爽人人躁,国产成人片无码免费爱线观看,亚洲AV成人无码精品网站,为什么晚上搞的时候要盖被子

將無限分類數據巧妙生成樹形數組

時間:2019-02-16 22:33:08 類型:PHP
字號:    

在無限分類應用中, 有時我們希望將得到的無限分類從數據庫中提取出來后生成樹形的數組, 這里看到一位PHP工程師的代碼, 感覺非常巧妙, 分享一下

1. 無限分類表格如下:

2. tp5的DB類讀取數據, 并將數據做一個轉化

   

   3. makeTree函數如下:

    

5. 最終打印結果如下

   

 附上代碼供拷貝:

public function index(Sortclass $sort){
		$datas = Db::name("column")->where("id","<=",10)
								->field("id,sortname,parentid")
								->order("id desc")
								->select();
		$d = [];
		foreach($datas as $row){
			$d[$row["id"]] = $row; //將每行的索引值 設置為 每行的ID
		}
		dump($this->makeTree($d));
	}
	public function makeTree($datas){
		$rowTree = [];
		foreach ($datas as $id=>$row){
			if(isset($datas[$row["parentid"]])){
			 	$datas[$row["parentid"]]["children"][] = $datas[$id];
			 	//將所的有子類放到 父類 ID 對應數組的 children鍵名下
			} else {
			 	$rowTree[] = $datas[$id];
			}
		}
		return $rowTree;
	}