php 函数中使用static的说明

yipeiwu_com7年前PHP代码库

复制代码 代码如下:

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

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

相关文章

php实现的mongodb操作类实例

本文实例讲述了php实现的mongodb操作类。分享给大家供大家参考。具体如下: <?php /* * To change this template, choo...

PHP的反射机制实例详解

本文实例讲述了PHP的反射机制。分享给大家供大家参考,具体如下: 介绍: PHP5添加了一项新的功能:Reflection。这个功能使得phper可以reverse-engineer c...

PHP实现的封装验证码类详解

用PHP写一个验证码类,并进行封装。类名: validationcode.class.php代码如下:复制代码 代码如下:<?php class ValidationCo...

php正则匹配html中带class的div并选取其中内容的方法

本文实例讲述了php正则匹配html中带class的div并选取其中内容的方法。分享给大家供大家参考。具体分析如下: 先看一段html代码: 复制代码 代码如下:<div clas...

php自定义二维数组排序函数array_orderby用法示例

本文实例讲述了php自定义二维数组排序函数array_orderby用法。分享给大家供大家参考,具体如下: <?php /** I came up with an ea...