欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php 函数中使用static的说明

程序员文章站 2022-04-28 15:48:19
复制代码 代码如下: function sendheader($num, $rtarr = null) { static $sapi = null; if ($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只能作用于此函数。

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