コード静的変数PHP再帰アルゴリズムを詳しく紹介する

4837 ワード

本文筆者が北京でコーヒーを飲んだときにふと思いついたのは...以前からコードの静的変数に関する文章をいくつか書きたいと思っていたので、家に帰ってから筆を執って発表しました.
    
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."
"; 
static_function(); 


static_function(); 

    
このPHP再帰アルゴリズムコードは、1から10の数字を数えて出力します.static_function関数の2回目の実行時には、変数iは静的変数であるため、依然として保持されて解放されず、さらに自己増加の値を得ることができる.
文章は終わってみんなに次のプログラマーのいくつかの冗談の語録を分かち合います:愛情観の愛情は死の循環で、いったん実行すると陥落しました.人を好きになるのは、メモリの漏洩です.あなたは永遠に解放できません.本当に人を爱する时、それは定数の制限で、永远に変えません.彼女はプライベート変数で、私のクラスだけが呼び出すことができます.恋人は針を使う時必ず注意しなければならなくて、さもなくば巨大な災難をもたらします.