帝国CMS模板大全
www.admin99.cn
www.92cms.cn 帝国CMS模板下载站!,情怀,养站,二次开发!源码需求比较大的一站式会员下载,价更省!!!

php静态变量define,static,const - php高级应用

php静态变量define,static,const

静态变量只存在于函数作用域内,也就是说,静态变量只存活在栈中,一般的函数内变量在函数结束后会释放,比如局部变量,但是静态变量却不会,就是说,下次再调用这个函数的时候,该变量的值会保留下来.

最简单定义方法:define() 函数定义一个常量,常量类似变量,不同之处在于,在设定以后,常量的值无法更改,常量名不需要开头的美元符号 ($) ,作用域不影响对常量的访问 ,常量值只能是字符串或数字.

语法: define(name,value,case_insensitive)

<?php 
define( "year" , "2012" );  
define( "month" , "12" );  
define( "date" , "21" );  
define( "thing" , "doomsday" );  
echo  year. "-" .month. "-" . date . " " .thing;  
?> 

static 用于变量,声明这个变量的存储单元静态分配,从程序运算开始到结束这个变量的存储单元不变化,static常用于全局量,一是存在里面的值始终有效,不因进退出子程序数值消失,另外static的变量运算速度比非静态分配的快.

<?php 
class  foo { 
    static   $my_static  = 5; 
    public   $my_prop  =  'bla' ; 

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

const 是常量,即从程序运算开始到结束,数值不变的量,代码如下:

<?php    
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); 
   } //开源软件:phpfensi.com  
  } 
 } else { 
  $check++; 
   if ($check<=$usecheck){ 
   sleep(1); //暂停下程序,等其他进程释放该资源  
   write_file($file,$msg); 
  } 
 } 
}

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php静态变量define,static,const - php高级应用》
文章链接:https://www.admin99.cn/8000
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
QQ站长交流群:953950264

登录

找回密码

注册