Login
网站首页 > 文章中心 > 其它

php无限分类例子_php递归实现无限级分类

作者:小编 更新时间:2023-09-28 16:26:20 浏览量:78人看过

php 无限分类

可以在表A中增加一个字段,该字段关联表B的SID,或者可以新建一张关联表C (ID,NEWSID,SID) 起到关联作用

是关联查询吗 ,如果有其他条件的话,在后面加and吧

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的节点

if?($value['pid']?==?$pid){???//父节点为根节点的节点,级别为0,也就是第一级

$value['level']?=?$level;???//把数组放到list中

$list[]?=?$value;???//把这个节点从数组中移除,减少后续递归消耗

unset($array[$key]);???//开始递归,查找父ID为该节点ID的节点,级别则为原级别◆1

getTree($array,?$value['id'],?$level◆1);

}

PHP MYSQL 请教 2个字段能无限分类吗?

没懂你的CID,和scid? 是什么.

无限分类是无限的树形结构么?

根据无限树形结构说一下.一般情况下 是用递归调用来处理的.字段中? 用id 和parentid 两个字段. 假设有一个函数 fetch是取mysql 数据的.简单写一个函数

function getdata($parentid){

$tree=fetch("parentid = {$parentid}");

foreach($tree as $k= $v){

$tree[$k]['children']=getdata($v['id']);

return $tree;

调用$tree=getdata(0);

$tree? 就是树形的.

当然 如果有用框架估计更简单点.比如laravel .定义一个$tree的模型,表中有id,和parentid两字段.模型中新增两个函数

public function childrentree()

{

? ? return $this-hasMany(get_class($this), 'parentid', 'id');

public function children()

? ? return $this-childrentree();

然后使用

tree::with(["children"])-where('parentid', 0)-get();? 就可以获取树形菜单

以上就是土嘎嘎小编为大家整理的php无限分类例子相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章