PHP用递归算法查找多级分类中顶级分类的名称

递归其实就是"一个函数的自调用".
在这个"自调用"的过程中,必须要有一个变化的"参数",当这个"参数"达到你的期望值的时候,终止该"自调用"过程.

 

例如在此多级分类中,我们想得到"落地扇"的最上级分类"家用电器"的id,就可以应用到递归思想,不断向上追溯上级分类,直到期望的结果出现,即找到第一级分类

以此为例子编写递归程序:

$myID=getTopID('43');
function getTopID($id)
{
    $query= mysql_query("select * from cate where id='".$id."'");
   $Rs = mysql_fetch_array($query);
   $topID=$Rs['id'];/////先赋值
   if($Rs['parentid']>0)
   {
       ////判断是否己是顶级分类,因为parentid等于0才是第一级分类,所以没达到条件的话,再调用函数自身,往上再查找 
        $topID = getTopID($Rs['parentid']);///根据设计时的思路,用父级的id作为子级的parentid查找
    }
    return $topID;///返回顶级分类的id
 }
   
这便是递归思想的简单应用了.

 

posted @ 2013-05-23 14:32  _Dongzi_  阅读(664)  评论(0编辑  收藏  举报