举例:省份,城市,地区
一般是用三张表来相互关联例如
或者使用一张表来表示例如:
用一张表来表示的这种类型可以扩展成无限分类
无限分类代码
//数组无限分类,分类成多维数组
public function treeAction($arr,$pid=0){
$tree = array();
foreach ($arr as $v) {
if ($v['parent_id'] == $pid) {
$son = $this->treeAction($arr,$v['cat_id']);
if (!empty($son)) {
$v['son'] = $son;
}
$tree[] = $v;
}
}
return $tree;
}
//数组无限分类,分类成一维数组
public function tree($arr,$pid=0,$level=0){
//创建一个数组
static $tree = array();
foreach ($arr as $v) {
if ($v['parent_id'] == $pid) {
//在数组里添加元素
$v['level'] = $level;
$tree[] = $v;
$this->tree($arr,$v['cat_id'],$level+1);
}
}
return $tree;
}