for里面执行了么?没数据不知道你逻辑怎走的啊

解决方案 »

  1.   

    这个我可以确定执行了,如果把return 换成echo 是有正确输出的.
      

  2.   

    递归什么时候结束,什么时候才return结果..
      

  3.   

    递归的问题,只返回最一个次的值,你那个$arrCrumb基上上没用,要传地址进去再可以运行
    用 &$arrCrumb
      

  4.   

    3Q wxq4100798(aa) 提的宝贵意见,通过传址来修改外部的变量数组,基本可以解决问题。但搞不明白还是返回不了任何值,不管是数组还是普通变量。
    ---------------------------------
    $arrCrumb1 = array();
    function getArrCrumb($id,&$arrCrumb){
    global $conn;
    $query = "select categoryID,categoryName,categoryFID from koan_category where categoryID='$id'";
    $arrCate = $conn->GetRow($query);
    $arrCrumb[] = $arrCate; if($arrCate[2] == '00000000'){ //根节点标示:“00000000”
    for($i=(count($arrCrumb)-1); $i>=0; $i--){
    $crumb .= $arrCrumb[$i][1]." > ";
    }
    return $crumb; //返回一个字符串
    }else{
    getArrCrumb($arrCate[2],&$arrCrumb);
    }
    }
    echo getArrCrumb('02010500',&$arrCrumb1); //没有任何输出print_r($arrCrumb1); //已更改了
      

  5.   

    askzhigang(轻风慢语)
        怎么没有执行到return?能具体说明一下吗?
      

  6.   

    function getArrCrumb($id,&$arrCrumb){
    global $conn;
    $query = "select categoryID,categoryName,categoryFID from koan_category where categoryID='$id'";
    $arrCate = $conn->GetRow($query);
    $arrCrumb[] = $arrCate; if($arrCate[2] == '00000000'){ //根节点标示:“00000000”
    for($i=(count($arrCrumb)-1); $i>=0; $i--){
    $crumb .= $arrCrumb[$i][1]." > ";
    }
    return $crumb; //返回一个字符串
    }else{
    return getArrCrumb($arrCate[2],&$arrCrumb);//为什么这里不return回去呢?
    }
    }
      

  7.   

    多谢Meteorlet(http://smartdict.cn)一语道破,使在下豁然开朗啊,佩服佩服!也谢谢wxq4100798(aa)给我的提示,虽说他说的不全对,但还是有些帮助的,至少可以解决问题。