PHP無限級分類實現(遞迴 非遞迴)

2022-07-24 07:30:12 字數 1401 閱讀 8898

<?php  

/**

* created by phpstorm.

* user: qishou

* date: 15-8-2

* time: 上午12:00

*/

//準備陣列,代替從資料庫中檢索出的資料(共有三個必須欄位id,name,pid)

header("content-type:text/html;charset=utf-8");

$categories = array(

array('id'=>1,'name'=>'電腦','pid'=>0),

array('id'=>2,'name'=>'手機','pid'=>0),

array('id'=>3,'name'=>'筆記本','pid'=>1),

array('id'=>4,'name'=>'台式電腦','pid'=>1),

array('id'=>5,'name'=>'智慧型機','pid'=>2),

array('id'=>6,'name'=>'功能機','pid'=>2),

array('id'=>7,'name'=>'超級本','pid'=>3),

array('id'=>8,'name'=>'遊戲本','pid'=>3),

);

/*********************==非遞迴實現********************====*/

$tree = array();

//第一步,將分類id作為陣列key,並建立children單元

foreach($categories as $category)

//第二步,利用引用,將每個分類新增到父類children陣列中,這樣一次遍歷即可形成樹形結構。

foreach($tree as $key=>$item)

} } ////第三步,刪除無用的非根節點資料

foreach($tree as $key=>$category)

}

print_r($tree);

/*********************==遞迴實現********************====*/

$tree = $categories;

function get_attr($a,$pid)

$tree = $v; //將記錄存入新陣列

} }

return $tree; //返回新陣列

} echo "

";

print_r(get_attr($tree,0));

PHP無限級分類實現(遞迴 非遞迴)

created by phpstorm.user qishou date 15 8 2 time 上午12 00 準備陣列,代替從資料庫中檢索出的資料 共有三個必須欄位id,name,pid header content type text html charset utf 8 categories...

PHP無限級分類實現(遞迴 非遞迴)

created by phpstorm.user qishou date 15 8 2 time 上午12 00 準備陣列,代替從資料庫中檢索出的資料 共有三個必須欄位id,name,pid header content type text html charset utf 8 categories...

PHP遞迴實現無限級分類

在一些複雜的系統中,要求對資訊欄目進行無限級的分類,以增強系統的靈活性。那麼php是如何實現無限級分類的呢?我們在本文中使用遞迴演算法並結合mysql資料表實現無限級分類。在一些複雜的系統中,要求對資訊欄目進行無限級的分類,以增強系統的靈活性。那麼php是如何實現無限級分類的呢?我們在本文中使用遞迴...