Heim >Backend-Entwicklung >PHP-Tutorial >在php自定义函数中使用static

在php自定义函数中使用static

WBOY
WBOYOriginal
2016-07-25 09:05:18993Durchsuche
  1. function sendHeader($num, $rtarr = null) {
  2. static $sapi = null;
  3. if ($sapi === null) {
  4. $sapi = php_sapi_name();
  5. }
  6. return $sapi++;
  7. ?>
复制代码

看PW源码的时候发现setHeader()函数中使用static关键字,很奇怪,以前也没这样用过。

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

  1. echo sendHeader(1)."
    ";
  2. echo sendHeader(2)."
    ";
  3. echo sendHeader(3)."
    ";
  4. ?>
复制代码

输出结果: apache2handler apache2handles apache2handlet

说明: 与global有点类似,但不同的是作用域。 static只能作用于此函数。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn