Rumah > pembangunan bahagian belakang > tutorial php > 求将一段递归代码改为非递归形式

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

WBOY
Lepaskan: 2016-06-23 13:55:38
asal
841 orang telah melayarinya

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);		}		}}
Salin selepas log masuk


回复讨论(解决方案)

你的 $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));
Salin selepas log masuk

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan