PHP 循环删除无限分类子节点的实现代码

yipeiwu_com6年前PHP代码库

复制代码 代码如下:

<?php
    private  function _deleteSubNode($ids){

        $subNodes = array();
        $mod = D('Node');
        foreach (explode ( ',', $ids ) as $k){
            $res = $this->_getSubNode($k,$subNodes[$k],$mod);  //获取子节点
            if(!empty($res[0])){
                foreach($res as $k => $nid){
                    $mod->where('id = '.$nid)->delete();       //删除子节点
                }
            }
        }
        return ;
    }

    private function _getSubNode($id, &$arr,$mod){

         $condition = array ('pid' => array ('eq', $id ));
         $ret = $mod->where($condition)->getField('id');
         if(!empty($ret[0])){
             foreach ($ret as $k => $node){
                 $arr[] = $node['id'];
                 $this->_getSubNode($node['id'], $arr, $mod);
            }
         }
         return $arr;
    }

?>

相关文章

PHP基于DOM创建xml文档的方法示例

本文实例讲述了PHP基于DOM创建xml文档的方法。分享给大家供大家参考,具体如下: DOM创建xml文档 用dom创建如下文档: <booklist>   <bo...

总结对比php中的多种序列化

前言 序列化是将对象状态转换为可保持或可传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。 将对象的状态信息转换为可以存储或传输...

浅谈php://filter的妙用

浅谈php://filter的妙用

php://filter是PHP中独有的协议,利用这个协议可以创造很多“妙用”,本文说几个有意思的点,剩下的大家自己下去体会。本来本文的思路我上半年就准备拿来做XDCTF2016的题目的...

详解cookie验证的php应用的一种SSO解决办法

详解cookie验证的php应用的一种SSO解决办法 近日,项目中需要接入一个“年久失修”的PHP应用,由于系统已经建设多年,并且是信息中心自己的人通过某些工具弄出来的,而且是本人未真正...

php实现xml转换数组的方法示例

本文实例讲述了php实现xml转换数组的方法。分享给大家供大家参考,具体如下: <?php $info = '<?xml version="1.0" en...