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只能作用于此函数。

有点意思。需要深入研究。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/fbdcb3fc4d0d62491a7e339f8b498319.html