>백엔드 개발 >PHP 튜토리얼 >求将一段递归代码改为非递归形式

求将一段递归代码改为非递归形式

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-23 13:55:38883검색

function delRecursive($id,$class_arr){	if($id=="") $id=0;	for($i=0;$i<count($class_arr);$i++){		if($class_arr[$i][3]==$id){		    $subid=$class_arr[$i][0];		    $this->db->delete('tree', array('id' => $id));		    $this->db->delete('tree', array('id' => $subid));					delRecursive($subid,$class_arr);		}		}}


回复讨论(解决方案)

你的 $class_arr 是什么样子的?
贴出来看看

$st = array($id);do {                $cnt = count($st);                 for($i=0;$i<count($class_arr);$i++){                    if(in_array($class_arr[$i][3], $st)){                        $subid=$class_arr[$i][0];                            if(!in_array($subid, $st)) {                                $st[] = $subid;                                $this->DB_MT->delete('tree', array('id' => $id));                                $this->DB_MT->delete('tree', array('id' => $subid));                            }                        }                       }}while($cnt < count($st));

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.