灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2872回复:0

php函数中使用static

楼主#
更多 发布于:2012-09-12 06:53

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只能作用于此函数。
有点意思。需要深入研究。


摘自 zaric


喜欢0 评分0
游客

返回顶部