什么是php递归算法_PHP递归算法实例解析
本节内容:
PHP递归算法。
PHP递归算法代码:
复制代码 代码示例:
//定义PI一分的角度的值 define("PII",M_PI/180);
//新建图像资源,并定义其背景为白色,前景色为黑色
$im=imagecreate(670,500);
$white=imagecolorallocate($im,0xFF,0xFF,0xFF);
$g=imagecolorallocate($im,0x00,0x00,0x00);
//从下面实例化的代码可以得知,初始值$x,$y,$L,$a别分为300,500,100,270
functiondrawLeaf($g,$x,$y,$L,$a)
{ global$im; $B=50; $C=9; $s1=2; $s2=3; $s3=1.2;
if($L>$s1){
//计算叶子的定位上面
$x2=$x+$L*cos($a*PII);
$y2=$y+$L*sin($a*PII);
$x2R=$x2+$L/$s2*cos(($a+$B)*PII);
$y2R=$y2+$L/$s2*sin(($a+$B)*PII);
$x2L=$x2+$L/$s2*cos(($a-$B)*PII);
$y2L=$y2+$L/$s2*sin(($a-$B)*PII);
//计算叶子的定位下面
$x1=$x+$L/$s2*cos($a*PII);
$y1=$y+$L/$s2*sin($a*PII);
$x1L=$x1+$L/$s2*cos(($a-$B)*PII);
$y1L=$y1+$L/$s2*sin(($a-$B)*PII);
$x1R=$x1+$L/$s2*cos(($a+$B)*PII);
$y1R=$y1+$L/$s2*sin(($a+$B)*PII);
//别分画叶子的主干以及叶面
ImageLine($im,(int)$x,(int)$y,(int)$x2,(int)$y2,$g);
ImageLine($im,(int)$x2,(int)$y2,(int)$x2R,(int)$y2R,$g);
ImageLine($im,(int)$x2,(int)$y2,(int)$x2L,(int)$y2L,$g);
ImageLine($im,(int)$x1,(int)$y1,(int)$x1L,(int)$y1L,$g);
ImageLine($im,(int)$x1,(int)$y1,(int)$x1R,(int)$y1R,$g);
//再次递归调用本身
drawLeaf($g,$x2,$y2,$L/$s3,$a+$C);
drawLeaf($g,$x2R,$y2R,$L/$s2,$a+$B);
drawLeaf($g,$x2L,$y2L,$L/$s2,$a-$B);
drawLeaf($g,$x1L,$y1L,$L/$s2,$a-$B);
drawLeaf($g,$x1R,$y1R,$L/$s2,$a+$B);
}
}
//实例化
drawLeaf($g,300,500,100,270);
header("Content-type:image/png");
imagepng($im);
?>
递归调用常常与静态变量使用。
静态变量的含义可以参考PHP手册。
例子,加深对PHP递归算法以及静态变量的理解。
复制代码 代码示例:
header("Content-type:text/plain"); functionstatic_function()
{
static$i=0;
if($i++<10)
{
echo$i."\n";
static_function();
}
}
static_function();
以上PHP递归算法代码会如数输出1到10的数字。
在static_function函数第二次运行时,变量i由于是静态变量,所以仍被保留不被释放,进而可以得到自增的值。
以上介绍了php递归算法的实现代码与用法,希望对大家有所帮助。
php递归函数小例子
php递归算法 php递归函数无限级分类
PHP递归算法与应用实例
php递归算法应用实例
php递归实现无限分类 php格式化数组
php递归方法实现无限分类示例
php递归遍历目录的二个函数
php用递归方法实现无限级分类的代码
php递归创建和删除文件夹的代码
php递归删除目录的例子
什么是php递归算法_PHP递归算法实例解析相关推荐
- 什么是php递归算法_PHP递归算法(一)
在前面的文章中,我们为大家介绍了PHP算法系列之<PHP随机取一算法>和<PHP冒泡排序算法>,需要的朋友可以了解学习.本篇文章我们将继续为大家带来常见的PHP算法,即PHP递 ...
- python递归算法案例教案_Python电子教案2-1-Python程序实例解析.ppt
Python电子教案2-1-Python程序实例解析.ppt 简单说,eval()的作用是将输入的字符串内容变成Python语句,并执行这个语句.实例代码1.1使用eval()函数将用户的部分输入(T ...
- 非递归算法和递归算法的效率分析
在对算法进行效率分析时,非递归算法和递归算法的分析表现出差异性.这里将分类逐一介绍. 非递归算法效率分析 在分析非递归算法时,我们可遵循以下通用方案: (1) 决定用哪个(哪些)参数表示输入规模. ( ...
- List元素互换,List元素转换下标,Java Collections.swap()方法实例解析
Java Collections.swap()方法解析 jdk源码: public static void swap(List<?> list, int i, int j) {// ins ...
- python argparse模块_Python argparse模块应用实例解析
这篇文章主要介绍了Python argparse模块应用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 简介 argparse是python ...
- php的延迟绑定,PHP延迟静态绑定使用方法实例解析
这篇文章主要介绍了PHP延迟静态绑定使用方法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 PHP的继承模型中有一个存在已久的问题,那就是在 ...
- Reactor实例解析
\ 要点 \\ Reactor是一个运行在Java8之上的响应式流框架,它提供了一组响应式风格的API\\t 除了个别API上的区别,它的原理跟RxJava很相似\\t 它是第四代响应式框架,支持操作 ...
- 实例解析linux内核I2C体系结构
实例解析linux内核I2C体系结构 一.概述 谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完 ...
- python反射实例化_Python类反射机制使用实例解析
这篇文章主要介绍了Python类反射机制使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 反射就是通过字符串的形式,导入模块:通过字符串的 ...
- JavaWeb实现文件上传下载功能实例解析
转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能 ...
最新文章
- 命令行编译运行CSharp文件
- 矩阵sum_推荐系统——从协同过滤到矩阵分解
- OpenCV条形码识别
- 第一个PowerShell脚本——PowerShell三分钟(九)
- 项目背景怎么描述_培训回顾 |第六届“互联网+”之创业大赛项目计划书撰写
- 搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(一)
- JS 回调(CallBack)
- android u盘加密代码,怎么用安卓手机给u盘加密
- ubuntu最好用的划词翻译词典:有道词典和GoldenDict
- 武汉linux软件,Linux发行版Mandriva的安装与软件包
- Skype for Linux下载地址
- 浮躁和傲慢,这样的人比比皆是
- Cousera-Introduction to Data Science in Python Assignment1-4答案
- 如何查看wifi设备
- [转帖] “王者对战”之 MySQL 8 vs PostgreSQL 10
- 《离散数学导学》精炼:第4,5章(集合论,布尔代数)
- 浏览器下载文件,读取BLOB字段会因为数据太大导致数据库连接connect超时关闭的解决方案...
- B. Sheldon and Ice Pieces
- 谷歌浏览器如何彻底关闭右下角弹出的广告弹窗
- 静观花开花落,笑看云卷云舒
热门文章
- java application.doevents_关于Application.DoEvents()的小研究
- 录制软件Bandicam安装教程
- catia制作物料明细_CATIA课时:符合GB的物料清单模板设置视频教程_翼狐网
- 高职计算机专业英语说课ppt,专业英语说课.ppt
- 【学习OpenCV4】OpenCV4入门介绍
- Qt5 与OpenCV4教程一:Qt5.12安装与OpenCV4.5.0配置
- Android 分贝测试仪功能,华为移动终端开发
- Socket面试题整理
- 三极管的导通条件总结
- springboot中ehcache的使用