php 递归问题

第一,没有选择数据库,在连接数据库后添加mysql_select_db("数据库名");
第二、我感觉不代码不全吧,因为我拷下来看了一下,少一},当然上面那个没少,补充的少了。
第三、还有没看出这个$ii是干什么用的。
第四、没感觉$selec=0与不等于0输出有什么不同。
第五、以后最好是把html代码与程序分开写。
因为不知道需求,只能根据你的程序简单修改如下:
<?php
function TreeMenu($selec) {
$Conn=mysql_connect("localhost","kk","kk123");
mysql_select_db("数据库名");
$ii=1;
$sql="select * from tvmenu where bid=".$selec;
$result=mysql_query($sql,$Conn);
$str = "";
while($row =mysql_fetch_array($result)) {
if($selec=0) {

$str = '<option value="'.$row['id'].'">'.$row['name'].'></option> ';

}else {

$str = '<option value="'.$row['id'].'">'.$row['name'].'></option> ';

}
echo $str;
$ii++;
TreeMenu($row['id']);
$ii--;
}
}
?>

<select name="bid" id="bid">
<?php
TreeMenu(0);
?>
</select>

❷ php递归解决一个问题

if($piano_nums<100)
{
get_new_nums($days+5);
}else{
return$piano_nums;
}


我没测试过 不过感觉这样内可行容

❸ php递归问题(无限极分类)

foreach本身就相当于判断了啊,当$arr数组非空时foreach会遍历并递归访问子节点,但是对于叶子结点,$arr数组是空的,根本不会被foreach,此时直接return了。明白?

❹ 简单的php递归调用问题

这是因为 static 的原因. 静态变量(static)仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果。 所以你的代码里第一次运算完了之后$i的值为2, 第二次就直接在2上加1,就是3了. 所以你不能这样写. 我推荐你把$i作为参数传过去, 就ok了.代码如下
另外:还有一个小问题就是strpos查找字符串如果在被查找字符串首的话会返回0, 所以要用!==false来判断, 否则会有问题;

$str="procts-2-1.html";
$str2="procts-3.html";
function str_count($str,$chr, $i=0){
$p = strpos($str, $chr);
if($p !== false){
$i++;
return str_count(substr($str,$p+1),$chr, $i);
} else {
return $i;
}
}
echo str_count($str,'-').'<br>';//输出2
echo str_count($str2,'-');//输出1

不过呢, 告诉你一个小秘密, 其实你写的这个函数在php函数库中已经有了, 就是
substr_count具体的你网络下吧, 直接用这个就行了
echo substr_count($str, '-');
echo substr_count($str2, '-');

❺ php递归函数的问题解答

我觉得这个“--”最好少用。
现在很多编程教材对++、--的理解都是不准确内的。
关键问题在于

当$num=4时容
return $num+sum(--$num);
是希望表达 return 3+sum(3) 还是 return 4+sum(3)
实际上,这个语句的这两个解释都是正确的,你的理解可能和你的电脑理解不同。

--发生的时刻可能是整个语句的开始,也就是
先$num=$num-1,然后再$num+sum($num);
--发生的时间只要早于sum($num)往里面传递参数,并且在整个表达式的执行过程中就可以。

❻ 一个PHP 递归的问题。希望高手给一下答案

简单说一下这段代码的问题在哪儿~~
从你的思路上来说,你应该是内想实现一个乘法表,容但是出现一个很严重的问题,按照你的意思,你应该是想将 $beiCengSu ++ ,然后递归调用的时候能够生效,但是事实上,每次调用函数的时候,$beiCengSu 这个变量都会被初始化为 1,也就是说,这里的 ++ 执行了,但是没有任何实际的意义,对于每一层调用来说,$beiCengSu 这个变量的值都是 1,所以这个函数就直接陷入死循环了~~

❼ php递归问题

<?php
$str="a/b/c";
$array = explode("/",$str);
splitStr($array,0);
function splitStr($array,$index)
{
if(count($array) == $index) return;
$echoArray = array();
for($i=0;$i<$index + 1;$i++) {
$echoArray[] = $array[$i];
}
echo implode("/",$echoArray)."<br />";
splitStr($array,$index + 1);
}
?>

❽ php递归问题:

不明白其他记录是什么记录,另:
foreach($child as $key=>$value){
$menu_arr[$value['id']] = $value;
//$this->menu($value['id'],$level);
$level++;
}
这好像已经放版到$menu_arr里了。权。。

❾ PHP 递归函数问题

echo sum($num);的作用是输出sum函数的返回值,你不return返回的就是空,当然不能输出正确值