当前位置:  编程技术>php

递归删除一个节点以及该节点下的所有节点示例

    来源: 互联网  发布时间:2014-08-26

    本文导语:  有的时候删除信息的时候,需要把这条信息下的所有的都删除,这个时候就需要递归删除了。下面是我在做部门管理中的删除部门功能的时候写的一段递归删除一个部门以及它的所有子部门的一段代码。仅供大家参考和自己以...

有的时候删除信息的时候,需要把这条信息下的所有的都删除,这个时候就需要递归删除了。下面是我在做部门管理中的删除部门功能的时候写的一段递归删除一个部门以及它的所有子部门的一段代码。仅供大家参考和自己以后备用。

下面是我的一段代码的展示:
代码如下:

/*
* 修改一条部门信息
*/
function del($bumen_id){
$sql="select bumen_id from lxsm_bumen where topbumen_id=".$bumen_id; //查询以topbumen_id为$bumen_id的bumen_id
$delsql="delete from lxsm_bumen where bumen_id=".$bumen_id; //删除bumen_id为$bumen_id的部门信息
$xiaji_id=$this->DB->fetch_assoc($sql);
if($xiaji_id){
foreach($xiaji_id as $id){
$res=$this->del($id[bumen_id]);
}
}
$result=$this->DB->query($delsql);
if($result){
return true;
}
else{
return false;
}
}

注释:这里的topbumen_id是部门信息中的上级部门的id号,fetch_assoc()函数是自己已经封装好的函数,是把查询得到的所有内容返回成一个数组。

心得体会:这是自己第一次写递归算法,写得还很稚嫩,不管怎样功能是实现了。我感觉写递归方面的代码的时候,自己先画好一个树状结构,认清其结构后,根据自己想要得到的效果,先在脑子里模拟一步一步的执行。比如这里的删除,想要删除一个部门,就得删除自己并且查找以自己为上级部门的子部门有哪些,把子部门一个一个地遍历得到,这时候子部门的操作,就和它的上级部门的删除一样,需要删除自己并且查找它的子部门,这样一来就有个类似重复的操作,子部门的操作和上级部门的操作经历的步骤是一样的,因此在子部门的遍历中让它执行这个本身的函数。这样一来就形成了一个递归算法。

    
 
 

您可能感兴趣的文章:

  • DevExpress实现TreeList向上递归获取符合条件的父节点
  • DevExpress实现TreeList向上递归获取公共父节点的方法
  • MySQL递归查询树状表的子节点、父节点具体实现
  • php递归示例 php递归函数代码
  • php递归使用示例(php递归函数)
  • 使用python实现递归版汉诺塔示例(汉诺塔递归算法)
  • sql函数实现递归查询示例
  • 使用递归实现数组求和示例分享
  • sql递归函数示例
  • php递归方法实现无限分类示例
  • 将文件夹下所有文件输出到日志文件中 c#递归算法学习示例
  • c#递归遍历文件夹示例
  • C语言使用普通循环方法和递归求斐波那契序列示例代码
  • python使用递归解决全排列数字示例
  • php使用递归与迭代实现快速排序示例
  • c++递归解数独方法示例
  • C++非递归遍历磁盘文件和递归遍历磁盘文件的程序示例
  • c语言版本二叉树基本操作示例(先序 递归 非递归)
  • C++Zip压缩解压缩示例(支持递归压缩)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 使用C语言递归与非递归实现字符串反转函数char *reverse(char *str)的方法
  • 先序遍历二叉树的递归实现与非递归实现深入解析
  • 如何使用递归和非递归方式反转单向链表
  • php递归算法 php递归函数无限级分类
  • php+mysql不用递归实现的无限级分类实例(非递归)
  • C# 实现阶乘 (递归,非递归) 实现代码
  • 递归形式与非递归形式的斐波那契数列的用法分析
  • java 汉诺塔Hanoi递归、非递归(仿系统递归)和非递归规律 实现代码
  • C 二分查找 递归与非递归的实现代码
  • 归并排序的递归实现与非递归实现代码
  • php递归函数小例子
  • 请问java里可有递归吗?
  • PHP递归函数返回值使用实例
  • php递归创建目录小例子
  • php递归函数使用return问题
  • php递归函数求阶乘
  • c#斐波那契数列(Fibonacci)(递归,非递归)实现代码
  • sql递归查询(with cte实现)
  • 递归下降解析器生成器 Soul Parsing Framework
  • 那位大哥能助小弟写一个递归遍历所有文件的函数?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3