在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>";
?>
输出结果:
apache2handler
apache2handles
apache2handlet
说明:
与global有点类似,但不同的是作用域。
static只能作用于此函数。
您可能感兴趣的文章:
在php自定义函数中使用static
php中static 静态变量和普通变量的区别
php static静态变量修饰符的用法详解
PHP 核心特性之匿名函数
php定义变量几种
理解php5中static和const关键字用法
php中static关键字的理解
php中对static关键字的理解
php的static局部变量可以更改吗
详解PHP的self关键字