国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php靜態變量define,static,const

2024-05-04 21:49:28
字體:
來源:轉載
供稿:網友

靜態變量只存在于函數作用域內,也就是說,靜態變量只存活在棧中,一般的函數內變量在函數結束后會釋放,比如局部變量,但是靜態變量卻不會,就是說,下次再調用這個函數的時候,該變量的值會保留下來.

最簡單定義方法:define() 函數定義一個常量,常量類似變量,不同之處在于,在設定以后,常量的值無法更改,常量名不需要開頭的美元符號 ($) ,作用域不影響對常量的訪問 ,常量值只能是字符串或數字.

語法:define(name,value,case_insensitive)

  1. <?php 
  2. define("year","2012");  
  3. define("month","12");  
  4. define("date","21");  
  5. define("thing","doomsday");  
  6. echo year."-".month."-".date." ".thing;  
  7. ?> 

static 用于變量,聲明這個變量的存儲單元靜態分配,從程序運算開始到結束這個變量的存儲單元不變化,static常用于全局量,一是存在里面的值始終有效,不因進退出子程序數值消失,另外static的變量運算速度比非靜態分配的快.

  1. <?php 
  2. class foo { 
  3.    static $my_static = 5; 
  4.    public $my_prop = 'bla'
  5. print foo::$my_static; copyright dedecms  
  6. $obj = new foo; 
  7. print $obj->my_prop; 
  8. ?> 

const 是常量,即從程序運算開始到結束,數值不變的量,代碼如下:

  1. <?php    
  2. class say_const{    
  3. const charset=”中國”;    
  4. publice function say_hello(){    
  5. echo slef::charset;    
  6. }    
  7. }    
  8. $const1=new say_const()’    
  9. $const1->say_hello();    
  10. ?> 

輸出就是“中國”,下面一款完整的靜態變量,代碼如下:

  1. function write_file($file,$msg,$usecheck=5){ 
  2.  static $check=1;//這里用到了~ 
  3.  $f=@fopen($file,"a+b"); 
  4.  if($f){ 
  5.   if(flock($f,lock_ex)){ 
  6.    fwrite($f,$msg); 
  7.    flock($f,lock_un); 
  8.    fclose($f); 
  9.   }else
  10.    fclose($f); 
  11.    $check++; 
  12.    if($check<=$usecheck){ 
  13.     sleep(1);//暫停下程序,等其他進程釋放該資源 
  14.     write_file($file,$msg); 
  15.    }//開源軟件:Vevb.com 
  16.   } 
  17.  }else
  18.   $check++; 
  19.   if($check<=$usecheck){ 
  20.    sleep(1);//暫停下程序,等其他進程釋放該資源 
  21.    write_file($file,$msg); 
  22.   } 
  23.  } 
  24. }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 尼玛县| 原平市| 胶州市| 太湖县| 洛浦县| 奈曼旗| 全椒县| 芦山县| 门头沟区| 湘潭县| 马边| 满洲里市| 梅州市| 武鸣县| 中牟县| 贵州省| 浦北县| 津南区| 崇左市| 海淀区| 博客| 郁南县| 紫云| 浦东新区| 曲阜市| 桓仁| 鹰潭市| 遂溪县| 洛浦县| 商南县| 邻水| 巴楚县| 安福县| 集安市| 兴国县| 镇康县| 柳林县| 新邵县| 醴陵市| 班玛县| 岚皋县|