PHP 循环删除无限分类子节点

Posted caigan的技术博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 循环删除无限分类子节点的主要内容,如果未能解决你的问题,请参考以下文章

PHP二叉树递归遍历无限循环问题

PHP在无限分类时注意的一些问题(不保证代码完全正确哦)

如何用php实现添加无限分类?类似织梦后台那种可以无限添加分类

什么是 无限极分类???(PHP。数据库)

thinkphp5.0无限极分类及格式化输出

php递归无限极分类怎么弄