按普通递归的方法,当读出第二个值的时候再去打印第一个值。
空格数可以通过递归的层数来计算。在递归函数中加一个level参数即可

解决方案 »

  1.   

    现在只要实现如何在  下级目录比上级目录前多两个空格to yueok(悦) 
    能不能具体点。这段代码应该不多的!
      

  2.   

    以前写的一个下拉菜单的递归,给你参考一下吧。/**  BEGIN function 
    *
    * 作者:偶然
    * 功能:递归出下拉菜单
    * 时间:2003.7.5
    * 变量:
    * 返回:none
    * 示例:
    *
    */
    function select($fid,$num,$i,$lang_type)
    {
    global $nav;
    $num++;
    $sql="select fid,cid,c_name from category where fid='$fid' and lang_type='$lang_type' and c_is_moved=0 order by cid desc";
    $query=$this->query($sql);
    while($array=$this->fetch_array($query))
    {
    $i=count($nav);
    $nav[$i]["num"]=$num;
    $nav[$i]["fid"]=$array['fid'];
    $nav[$i]["navid"]=$array['cid'];
    $nav[$i]["navname"]=$array['c_name'];
    $this->select($nav[$i]["navid"],$num,$i,$lang_type);
    $i++;
    }
    Return $nav;
    }$dir_array = $this->select(0,0,0,$lang_type);/* 在有目录的情况下进行列表 */
    $dir_num = count($dir_array);
    if($dir_num!=0)
    {
    /* 下拉列表 */
    $options = '';
    foreach($dir_array as $key=>$val)
    {
    $dot="";

    for($i=0; $i<$val['num']; $i++)
    {
    $dot=$dot.'--';
    }
    $dot=$dot."|";
    $options.= "<option value=".$val['navid'].">".$dot."(".$val['navid'].")".$val['navname']."</option>";
    }
    $t->set_var("options",$options);
    }