你的递归用法错误啦,
if ($typeida==0) {
echo "执行返回$typename.$typeida";
$typedir=explode('/',$typedir);
$url_c=" <a target='_blank' href=\"/".$typedir[1]."/".$typedir[2]."/".$dfname."\">".$typename." </a>";
echo $url_c;
return $url_c;
}
else {
muses($typeida);
}
$typeida不为0的时候你的函数就不会有返回值了,这样改一下
if ($typeida==0) {
echo "执行返回$typename.$typeida";
$typedir=explode('/',$typedir);
$url_c=" <a target='_blank' href=\"/".$typedir[1]."/".$typedir[2]."/".$dfname."\">".$typename." </a>";
}
else {
$url_c = muses($typeida);
}
return $url_c;
if ($typeida==0) {
echo "执行返回$typename.$typeida";
$typedir=explode('/',$typedir);
$url_c=" <a target='_blank' href=\"/".$typedir[1]."/".$typedir[2]."/".$dfname."\">".$typename." </a>";
echo $url_c;
return $url_c;
}
else {
muses($typeida);
}
$typeida不为0的时候你的函数就不会有返回值了,这样改一下
if ($typeida==0) {
echo "执行返回$typename.$typeida";
$typedir=explode('/',$typedir);
$url_c=" <a target='_blank' href=\"/".$typedir[1]."/".$typedir[2]."/".$dfname."\">".$typename." </a>";
}
else {
$url_c = muses($typeida);
}
return $url_c;
$data['typename'] = $reid_tmp['typename'];
$data['typedir'] = $reid_tmp['typedir'];
$data['dfname'] = $reid_tmp['defaultname'];
while里面改成上面这样,然后在while 之后if 之前输出var_dump($data)看看.你这是函数的递归调用吗?
看我的结果,那个$typeida最后肯定是为0了..也没有返回值,To:HOOLOO 我是做递归....
我的返回结果已经显示,执行到==0的条件.为什么还是没有返回值..To:rzhome 这个我也试过了,一样没有返回值.
else {
muses($typeida); <=== 这里没人接受返回值
}