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

2021-08-11 14:13:40 字數 2280 閱讀 2298

<?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)); //傳pid值 得到下級下下級的所有層級

得到某一節點下 所有子級 孫級id

$ids = ;

$tree = $this->get_attr($tree,1,$ids);

function get_attr2($a,$pid,&$ids)

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

}} return $ids; //返回新陣列

}

得到某一id下的所有子層級id

$tree = m()->query("select * from company_org where company_id = '$company_id'");

$tree = $this->getmenutree($tree,$department_id,$org_level);

//如果有子級則 子級加本級資料

if($tree)else

$sql = "select * from employee where department_id in ($tree)";

$employee_list = m()->query($sql);

function getmenutree($arrcat, $parent_id = 0, $level = 0)

}return $arrtree;

}

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是如何實現無限級分類的呢?我們在本文中使用遞迴...