Heim  >  Artikel  >  Backend-Entwicklung  >  求个递归算法

求个递归算法

WBOY
WBOYOriginal
2016-06-23 14:00:52769Durchsuche

id    name    pid
1    AAA        0
2    BBB       1
3    CCC      2
4    DDD      2
5    EEE       0
6    FFF        5
7    GGG     6

得出

AAA
    BBB
        CCC => 'CCC'
        DDD => 'DDD'
EEE
    FFF
        GGG => 'GGG'


回复讨论(解决方案)

http://bbs.csdn.net/topics/390731721

http://bbs.csdn.net/topics/390731721

不是tree,我是想得出一个多维数组,以name为键。


http://bbs.csdn.net/topics/390731721

不是tree,我是想得出一个多维数组,以name为键。
上精华区找,徐版主写了好多

function tree($pid=0) {  $res = array();  $rs = mysql_query("select * from tbl_name where pid=$pid");  while($row = mysql_fetch_assoc($rs)) {    $res[$row['name']] = ($t = tree($row['id'])) ? $t : $row['name'];  }  return $res;}
      

原理是一样的,楼主把1楼链接里的代码修改下就可以满足要求了

function access($access, $arr, $pid = 0){	foreach ($access as $v) {		if($v['pid'] == $pid){			$arr[$v['name']] = ($a = access($access, $arr[$v['name']], $v['id'])) ? $a : $v['name'];		}	}	return $arr;}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:输出数组不加单引号Nächster Artikel:PHP语句,多重引号问题