1. 程式人生 > >PHP無限分類生成樹方法,非遞歸,引用

PHP無限分類生成樹方法,非遞歸,引用

class name return 合肥 reac 核心 浙江省 each com

  1. //這個是核心方法
  2. function generateTree($items){
  3. $tree = array();
  4. foreach($items as $item){
  5. if(isset($items[$item[‘pid‘]])){
  6. $items[$item[‘pid‘]][‘son‘][] =& $items[$item[‘id‘]];
  7. }else{
  8. $tree[] =& $items[$item[‘id‘]];
  9. }
  10. }
  11. return $tree;
  12. }
  13. //這個是從發數據庫中取出的數據
  14. $items = array(
  15. 1 => array(‘id‘ => 1, ‘pid‘ => 0, ‘name‘ => ‘安徽省‘),
  16. 2 => array(‘id‘ => 2, ‘pid‘ => 0, ‘name‘ => ‘浙江省‘),
  17. 3 => array(‘id‘ => 3, ‘pid‘ => 1, ‘name‘ => ‘合肥市‘),
  18. 4 => array(‘id‘ => 4, ‘pid‘ => 3, ‘name‘ => ‘長豐縣‘),
  19. 5 => array(‘id‘ => 5, ‘pid‘ => 1, ‘name‘ => ‘安慶市‘),
  20. );
  21. print_r(generateTree($items));

PHP無限分類生成樹方法,非遞歸,引用