PHP无限极分类,多种方法|很简单,这里说的很详细,其它地方说的很不好懂
来源:互联网 发布:单片机开发板怎么做得 编辑:程序博客网 时间:2024/06/05 16:12
当你学习php无限极分类的时候,大家都觉得一个字“难”我也觉得很难,所以,现在都还在看,因为工作要用到,所以,就必须得研究研究。
到网上一搜php无限极分类,很多,但好多都是一个,并且,写的很乱,代码很多,让我们怎么学习嘛,那些都不靠谱,还是自己捣鼓捣鼓无限极分类了。
比如一个category表:有id, name, pid, sort 就这四个简单的字段,不要太复杂了。
代码:category.class.php
这里的$cate是查询上面表获取的一个二维数组:这里就不写了
下面是效果:
到此,我们就实现了最简单的php无限极分类了,这个在工作中用的很多的。
大家知道分类多了,递归效率也就低了,所以,有了下面的算法:预排序遍历树算法进行无限分类
相关文章推荐:
超优雅!两行代码搞定 php 无限级分类 获取顶级分类ID
比如一个category表:有id, name, pid, sort 就这四个简单的字段,不要太复杂了。
id name pid sort
1 PHP 0 1
2 Javascript 0 2
3 MySQL 0 3
4 PHP类 1 1
5 smarty 1 2
6 私有方法 4 1
7 jQuery 2 1
1
2
3
4
5
6
7
代码:category.class.php
class Category {
static public function sortOut($cate,$pid=0,$level=0,$html='--'){
$tree = array();
foreach($cate as $v){
if($v['id'] == $pid){
$v['level'] = $level + 1;
$v['html'] = str_repeat($html, $level);
$tree[] = $v;
$tree = array_merge($tree, self::sortOut($cate,$v['id'],$level+1,$html));
}
}
return $tree;
}
}
}
这里的$cate是查询上面表获取的一个二维数组:这里就不写了
下面是效果:
id name pid level sort
1 PHP 0 1 1
4 --php类 1 2 1
6 ----私有方法 4 3 1
5 --smarty 1 2 2
2 Javascript 0 1 2
7 --php类 2 2 1
3 MySQL 0 1 3
1
4
6
5
2
7
3
到此,我们就实现了最简单的php无限极分类了,这个在工作中用的很多的。
----------------------------------------------
好像不需要array_mergefunction tree(&$list,$pid=0,$level=0,$html='--'){
static $tree = array();
foreach($list as $v){
if($v['pid'] == $pid){
$v['sort'] = $level;
$v['html'] = str_repeat($html,$level);
$tree[] = $v;
tree($list,$v['id'],$level+1);
}
}
return $tree;
}
}
大家知道分类多了,递归效率也就低了,所以,有了下面的算法:预排序遍历树算法进行无限分类
相关文章推荐:
超优雅!两行代码搞定 php 无限级分类 获取顶级分类ID
0 0
- PHP无限极分类,多种方法|很简单,这里说的很详细,其它地方说的很不好懂
- 这里说的都是泪水
- 无限极分类 简单方法
- PHP无限级分类简单实现方法
- 说创业说的很有道理
- php无限极分类实现方法
- php无限极分类
- PHP无限极分类
- php无限极分类
- PHP无限极分类
- PHP无限极分类
- php无限极分类
- PHP无限极分类
- PHP 无限极分类
- PHP无限极分类
- PHP:无限极分类
- php|无限极分类
- php无限极分类
- Planar Homographies (平面单应矩阵)
- 原生js中创建ajax
- 有趣的KVC-几行代码打造一个万能容器对象
- C++ static对象 和析构函数的关系
- Chrome浏览器扩展开发系列之七:override页面
- PHP无限极分类,多种方法|很简单,这里说的很详细,其它地方说的很不好懂
- 无人机光流定位系列——(一)原理剖析
- AngularJS——$http
- 操作系统中进程和线程的一些概念
- js图片等比缩放程序代码
- js把日期字符串转换成时间戳
- DWR
- Chrome浏览器扩展开发系列之八:Chrome扩展的数据存储
- is_base_of