PHP無限分類生成樹方法,非遞歸,引用
阿新 • • 發佈:2018-07-31
class name return 合肥 reac 核心 浙江省 each com
//這個是核心方法
function generateTree($items){
$tree = array();
foreach($items as $item){
if(isset($items[$item[‘pid‘]])){
$items[$item[‘pid‘]][‘son‘][] =& $items[$item[‘id‘]];
}else{
$tree[] =& $items[$item[‘id‘]];
}
}
return $tree;
}
//這個是從發數據庫中取出的數據
$items = array(
1 => array(‘id‘ => 1, ‘pid‘ => 0, ‘name‘ => ‘安徽省‘),
2 => array(‘id‘ => 2, ‘pid‘ => 0, ‘name‘ => ‘浙江省‘),
3 => array(‘id‘ => 3, ‘pid‘ => 1, ‘name‘ => ‘合肥市‘),
4 => array(‘id‘ => 4, ‘pid‘ => 3, ‘name‘ => ‘長豐縣‘),
5 => array(‘id‘ => 5, ‘pid‘ => 1, ‘name‘ => ‘安慶市‘),
);
print_r(generateTree($items));
PHP無限分類生成樹方法,非遞歸,引用