为什么我的函数不能返回值? for里面执行了么?没数据不知道你逻辑怎走的啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个我可以确定执行了,如果把return 换成echo 是有正确输出的. 递归什么时候结束,什么时候才return结果.. 递归的问题,只返回最一个次的值,你那个$arrCrumb基上上没用,要传地址进去再可以运行用 &$arrCrumb 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); //已更改了 askzhigang(轻风慢语) 怎么没有执行到return?能具体说明一下吗? 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回去呢? } } 多谢Meteorlet(http://smartdict.cn)一语道破,使在下豁然开朗啊,佩服佩服!也谢谢wxq4100798(aa)给我的提示,虽说他说的不全对,但还是有些帮助的,至少可以解决问题。 关与跨域请求 在线等!截取字符串问题! PHP能不能断开用户连接? XML与PHP? 问一个语法的问题 php+txt 写留言本的....基本己经写完了..不过出现了个小错误..不知道怎么更正..望大家帮帮忙 php中在global_variable设置off的情况下参数的传递问题 今天十点跟资本家吵一架,现在无业中。 我原样照着网上说的做的登录校验,为什么还是报错,好难过?!! 如何用在正则去掉字符串中的\这个字符 做acm测试系统要学习哪些知识? 懂LINUX下重编译安装PHP的过来帮忙
用 &$arrCrumb
---------------------------------
$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); //已更改了
怎么没有执行到return?能具体说明一下吗?
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回去呢?
}
}