本文笔者在北京喝咖啡的时候突然想到的...之前就有想写几篇关于代码静态变量的文章,所以回家到之后就奋笔疾书的写出来发布了

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手册。希望上面的代码,会更有利于对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由于是静态变量,所以仍被保留不被释放,进而可以得到自增的值。

文章结束给大家分享下程序员的一些笑话语录: 爱情观
  爱情就是死循环,一旦执行就陷进去了。
  爱上一个人,就是内存泄露--你永远释放不了。
  真正爱上一个人的时候,那就是常量限定,永远不会改变。
  女朋友就是私有变量,只有我这个类才能调用。
  情人就是指针用的时候一定要注意,要不然就带来巨大的灾难。

转载于:https://www.cnblogs.com/jiangu66/archive/2013/05/20/3089384.html

代码静态变量详细的介绍一下PHP递归算法相关推荐

  1. 代码静态扫描工具sonar介绍

    一.SonarQube整体介绍 SonarQube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java.C.C++.JavaScripe等等 ...

  2. php如何递归算法,详细的介绍一下PHP递归算法_PHP教程

    PHP递归算法代码: 复制代码代码如下: < ?php //定义PI一分的角度的值 define("PII",M_PI/180); //新建图像资源,并定义其背景为白色,前景 ...

  3. 今天你的静态变量和静态代码块执行了吗?

    摘要:今天你的静态变量和静态代码块执行了吗? 本文分享自华为云社区<[java]静态变量和静态代码块那些事>,作者: 大金(内蒙的). 今日题目: 今天你的静态变量和静态代码块执行了吗? ...

  4. python简单代码画曲线图教程-Python绘制折线图和散点图的详细方法介绍(代码示例)...

    本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...

  5. python画折线图代码-Python绘制折线图和散点图的详细方法介绍(代码示例)

    本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...

  6. linux进程的堆栈空间_代码段(指令,只读)、数据段(静态变量,全局变量)、堆栈段(局部变量)、栈【转】...

    转自:http://blog.csdn.net/gongweijiao/article/details/8207333 原文参见:http://blog.163.com/xychenbaihu@yea ...

  7. java数据段 静态区_linux进程的堆栈空间_代码段(指令,只读)、数据段(静态变量,全局变量)、堆栈段(局部变量)、栈【转】...

    一)概述 .堆栈是一个用户空间的内存区域,进程使用堆栈作为临时存储. .堆栈中存放的是函数中的局部变量,在函数的生命周期中可以将变量压入堆栈,编译器需要确保堆栈指针在函数退出前恢复到初始位置,也就是说 ...

  8. Java父类与子类中静态代码块 实例代码块 静态变量 实例变量 构造函数执行顺序...

    实例化子类时,父类与子类中的静态代码块.实例代码块.静态变量.实例变量.构造函数的执行顺序是怎样的? 代码执行的优先级为: firest:静态部分 second:实例化过程 详细顺序为: 1.父类静态 ...

  9. [转载] Java静态代码块/构造代码块/构造函数/静态变量/成员变量(相关示例)

    参考链接: Java程序的输出| 构造函数 近期做牛客网的Java开发笔试题,发现这类型的题目较多,很容易混淆,特将相关概念和相关示例整理如下,供大家参考^_^ 1. 静态代码块在类加载时即运行,而且 ...

最新文章

  1. SLAM技术大解析:它是如何帮助机器人实现智能行走的?
  2. 手把手教学,平衡小车详细教程,平衡车
  3. ajax 返回flase,Django request.is_ajax返回false
  4. centos下使用yum命令安装php mcrypt扩展
  5. 异步发电机 matlab仿真,基于MATLABSIMULINK异步电机矢量控制系统的仿真.pdf
  6. solidwork运行python脚本_Matlab – Solidworks 机器人建模(3)如何把URDF文件导入到Matlab...
  7. 基本的阿里云Linux服务器设置
  8. python爬取拉勾网给定关键词职位信息存入数据库_python爬取拉勾网职位数据的方法...
  9. 完成20亿元D轮融资,明略数据升级为明略科技集团
  10. 数据库系统概念第六版课后习题答案-第二章
  11. 虚拟内存与物理内存与内存碎片-杂谈
  12. 局域网SDN技术硬核内幕 一 分布式任意播网关
  13. 用Acrobat打印小册子
  14. 明码(C语言)——罡罡同学
  15. 命令行配置电脑IP(Windows下设置、增加、删除)
  16. omnigraffle 画曲线_三步学会用绘图利器 OmniGraffle 绘制流程图
  17. ALSA子系统(五)------XRUN排查
  18. 《标题党》自我修炼的10个秘籍
  19. 浙江省2022年职称评审申报流程
  20. python在excle教程全集_Python对Excel操作教程

热门文章

  1. Python小项目,我拿Python做了这些小玩意儿
  2. 希尔瓦娜斯服务器位置,魔兽世界9.1希尔瓦娜斯战斗信息与场景一览[多图]
  3. 启动Windows Installer
  4. [附源码]Python计算机毕业设计SSM基于JAVA的校园电车租赁系统(程序+LW)
  5. 【快捷键】Python——批量缩进和批量注释
  6. C#后台画图保存为ipg/png的文件
  7. FIFO专题之单口RAM实现FIFO(同步)
  8. Flex开发案例--个性化数码印刷在线DIY
  9. linux添加hello驱动,Linux驱动之建立一个hello模块
  10. 20221203英语学习