本文目录一览:
php 无限极分类 用什么函数
你好,php的无限分类不需要用到什么函数,只是利用到简单的递归就可以了。
请帮我写一个完善的php分类管理函数
设计Mysql数据库表,
如果你的分类需要无限级分类的话,需要有parent_id
create table category (
id int(11) primary key autocrement,
parent_id int(11) default 0,
name varchar(255) not null
)
如果要显示树状的或者有级别层次的,一般是要用递归输出的。
代码自己写,不只是一个函数能解决的,希望能帮到你。
php 几种常用的递归 无限极分类
/**
* 递归实现无限极分类
* @param $array 分类数据
* @param $pid 父ID
* @param $level 分类级别
* @return $list 分好类的数组 直接遍历即可 $level可以用来遍历缩进
*/
function getTree($array, $pid =0, $level = 0){
//声明静态数组,避免递归调用时,多次声明导致数组覆盖
static $list = []; foreach ($array as $key = $value){ //第一次遍历,找到父节点为根节点的节点 也就是pid=0的节点-php无线分类函数
if ($value['pid'] == $pid){ //父节点为根节点的节点,级别为0,也就是第一级
$value['level'] = $level; //把数组放到list中
$list[] = $value; //把这个节点从数组中移除,减少后续递归消耗
unset($array[$key]); //开始递归,查找父ID为该节点ID的节点,级别则为原级别+1
getTree($array, $value['id'], $level+1);
}
}
PHP无限级分组算法问题
先建立数据库 id name pid
1 首页 0
2 问题分类 0
3 知道栏目 0
4 首页_1 1
5 首页_2 1
6 问题分类_1 2
先查出pid=0; 的数据 //这是第一级
第一级: 首页(id=1) 问题分类(id=2) 知道栏目(id=3)
用jquery 时间,鼠标悬停时间
比如:鼠标移到首页上,就会触发jquery事件,
得到首页的id
这里用id去查出 pid=id的数据,
如果id=1;
第二级:首页_1(id=4) 首页_2(id=5)
这里就和上面一样了
PHP 无限级分类, 二维数组, 递归调用问题
$subs = array();
表示定义并初始化一个数组,
这样后面的循环里就可以对这个数组进行操作,比如添加数据,
不加也能正常工作,但是不推荐,
初始化变量是一个良好的开发习惯