php 函数中使用static的说明

yipeiwu_com6年前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程序实现支持页面后退的两种方法

  第一,使用Header方法设置消息头Cache-control QUOTE: header('Cache-control: private, ...

ajax php 实现写入数据库

首先需要一个带输入表格. 复制代码 代码如下:<!-- To change this template, choose Tools | Templates and open the...

比较详细PHP生成静态页面教程

一,PHP脚本与动态页面。   PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合,也可以类,函数封装等形式,以模板的方式对用户请求进行处理。无论以何种方式,它的基本原...

使用PHP实现蜘蛛访问日志统计

复制代码 代码如下:$useragent = addslashes(strtolower($_SERVER['HTTP_USER_AGENT'])); if (strpos($...

PHP PDO函数库详解

目前而言,实现“数据库抽象层”任重而道远,使用PDO这样的“数据库访问抽象层”是一个不错的选择。 PDO中包含三个预定义的类 PDO中包含三个预定义的类,它们分别是 PDO、PDOSt...