关于php递归函数的问题

qq599006169 2015-08-04 07:09:47

<?php
function draw($total,$line=1,$result="a1"){
echo "<script>alert('$total,$line')</script>";
if($line>$total){
return;
}
else{
$line++;
//echo $result;
echo "<script>alert('draw1($total,$line,$result)')</script>";
draw($total,$line,$result);
echo "<script>alert('draw2($total,$line,$result)')</script>";
}
echo $result;
}
draw(3);
?>

语句中执行函数draw(3),当运行到if($line>$total){return;}echo出来三条信息draw2(3,4,a1)-->draw2(3,3,a1)-->draw2(3,2,a1)然后结束,请问是什么 原因使$line在return发生后,依次减1呢?
...全文
105 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq599006169 2015-08-04
  • 打赏
  • 举报
回复
谢谢,我想我递归的原理还没弄明白,再去找下资料吧
xuzuning 2015-08-04
  • 打赏
  • 举报
回复
没有原因,因为他并没有变
function draw($total,$line=1,$result="a1"){
    echo "<script>alert('$total,$line')</script>";
    if($line>$total){
        return;
    }
    else{
        $line++;
        //echo $result;
        echo "<script>alert('draw1($total,$line,$result)')</script>";
echo "递归前 line = $line\n";
        draw($total,$line,$result);
echo "递归后 line = $line\n";
        echo "<script>alert('draw2($total,$line,$result)')</script>";
    }
    echo $result;
}
draw(3);
第1章 PHP 5基础 1.1 简介 1.1.1 PHP是什么 1.1.2 初步认识PHP代码 1.2 PHP的安装 1.2.1 Linux下安装.Apache和PHP 1.2.2 Windows下安装Apache和PHP 1.3 PHP配置 1.3.1 PHP配置文件 1.3.2 PHP常用配置选项 1.3.3 加载扩展库 1.4 本章小结 第2章 网站开发语法基础 2.1 基本语法 2.2 数据类型 2.2.1 布尔型 2.2.2 整型 2.2.3 浮点型 2.2.4 字符串 2.2.5 数组 2.2.6 对象 2.2.7 资源 2.2.8 NULL 2.2.9 类型转换 2.3 变量 2.3.1 变量的赋值 2.3.2 预定义变量 2.3.3 变量作用域 2.3.4 可变变量 2.4 常量 2.4.1 自定义常量 2.4.2 魔术常量 2.5 表达式 2.6 运算符 2.6.1 算术运算符 2.6.2 字符串运算符 2.6.3 比较运算符 2.6.4 逻辑运算符 2.6.5 位运算符 2.6.6 赋值运算符 2.6.7 数组运算符 2.6.8 类型运算符 2.6.9 错误控制运算符 2.6.10 执行运算符 2.6.11 运算符的优先级 2.7 流程控制 2.7.1 if结构 2.7.2 switch结构 2.7.3 while循环 2.7.4 for循环 2.7.5 foreach语句 2.7.6 declare语句 2.7.7 exit和retunl语句 2.8 包含代码 2.9 本章小结 第3章 函数 3.1 用户自定义函数 3.1.1 函数调用与函数定义 3.1.2 递归函数 3.2 函数的参数 3.2.1 按值传递参数 3.2.2 通过引用传递 3.2.3 默认参数值 3.2.4 可变长度参数列表 3.3 函数返回值 第4章 类与对象 第5章 字符串 第6章 数组 第7章 PHP高级应用技术 第8章 PHP模板 第9章 MySQL快速入门 第10章 MySQL数据库管理 第11章 MySQL5进阶 第12章 文章发布系统 第13章 电子商务系统

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧