background image

php 函数中使用 static 的说明

PW 源码的时候发现 setHeader()函数中使用

static

关键字,很奇怪,以前也没这样用过 。

static

用在函数里面,声明一次变量后,如果再次调用这个函数将会在初始值延续,如

$sapi

这里将累加
代码如下

:

 

function

 sendHeader(

$num

$rtarr

 = null) { 

static

 

$sapi

 = null; 

if

 (

$sapi

 === null) { 

$sapi

 = php_sapi_name(); 

return

 

$sapi

++; 

 
  看

PW 源码的时候发现 setHeader()函数中使用

static

关键字,很奇怪,以前也没这样用

过。

 

 

static

用在函数里面,声明一次变量后,如果再次调用这个函数将会在初始值延续,如

$sapi

这里将累加。

 

 
代码如下

:

 

echo

 sendHeader(1)."<br>"; 

echo

 sendHeader(2)."<br>"; 

echo

 sendHeader(3)."<br>"; 

 
  

output: 

 
代码如下

:

 
apache2handler 
apache2handles 
apache2handlet 
 
  和

global

有点类似,但不同的是作用域。

static

只能作用于此函数。