程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php靜態變量define,static,const

php靜態變量define,static,const

編輯:關於PHP編程

 

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

最簡單定義方法

define() 函數定義一個常量。

常量類似變量,不同之處在於:

在設定以後,常量的值無法更改
常量名不需要開頭的美元符號 ($)
作用域不影響對常量的訪問
常量值只能是字符串或數字
語法

define(name,value,case_insensitive)

class foo {
   static $my_static = 5;
   public $my_prop = 'bla';
}

print foo::$my_static; copyright dedecms
$obj = new foo;
print $obj->my_prop;
?>

const 是常量,即從程序運算開始到結束,數值不變的量。

class say_const{  
const charset=”中國”;  
publice function say_hello(){  
echo slef::charset;  
}  
}  
$const1=new say_const()’  
$const1->say_hello();  
?>  

輸出就是“中國”

下面一款完整的靜態變量

function write_file($file,$msg,$usecheck=5){
 static $check=1;//這裡用到了~
 $f=@fopen($file,"a+b");
 if($f){
  if(flock($f,lock_ex)){
   fwrite($f,$msg);
   flock($f,lock_un);
   fclose($f);
  }else{
   fclose($f);
   $check++;
   if($check<=$usecheck){
    sleep(1);//暫停下程序,等其他進程釋放該資源
    write_file($file,$msg);
   }
  }
 }else{
  $check++;
  if($check<=$usecheck){
   sleep(1);//暫停下程序,等其他進程釋放該資源
   write_file($file,$msg);
  }
 }
}


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved