PHP static静态变量详解

PHP static静态变量

变量范围的另一个重要特性是静态变量(static variable)。静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。看看下面的例子:

例子 演示需要静态变量的例子


  1. <?PHP 
  2.    function Test()  
  3.    {  
  4.    $w3sky = 0;  
  5.    echo $w3sky;  
  6.    $w3sky++;  
  7.    }  
  8.    ?> 

本函数没什么用处,因为每次调用时都会将 $w3sky 的值设为 0 并输出 "0"。将变量加一的 $w3sky++ 没有作用,因为一旦退出本函数则变量 $w3sky 就不存在了。要写一个不会丢失本次计数值的计数函数,要将变量 $w3sky 定义为静态的:

例子 使用静态变量的例子


  1. <?PHP 
  2.    function Test()  
  3.    {  
  4.    static $w3sky = 0;  
  5.    echo $w3sky;  
  6.    $w3sky++;  
  7.    }  
  8.    ?> 

现在,每次调用 Test() 函数都会输出 $w3sky 的值并加一。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索函数
, 变量
, static
, 静态
, 输出
, 例子
变量详解
static静态变量、static定义静态变量、java static 静态变量、php static 变量、php static 变量 赋值,以便于您获取更多的相关知识。

时间: 2024-08-22 15:05:42

PHP static静态变量详解的相关文章

static变量-static静态变量问题,菜鸟求大家伙给个答案

问题描述 static静态变量问题,菜鸟求大家伙给个答案 int main(void) { static int i=5; if(--i) { main(); cout<<i<<endl; } } 为什么输出结果是0000? 菜鸟求详解啊!么么哒 解决方案 4,3,2,1,0一共5个数,因为0的时候不进if了所以递归终止了,然后返回到上一次递归也就是i=1的时候,但是这时候实际上i的值是0了所以打印0并且换行,以此类推, i=2的递归,打印 0 换行 i=3的递归,打印 0 换行

C语言 变量详解及示例代码_C 语言

C 变量 变量其实只不过是程序可操作的存储区的名称.C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上. 变量的名称可以由字母.数字和下划线字符组成.它必须以字母或下划线开头.大写字母和小写字母是不同的,因为 C 是大小写敏感的.基于前一章讲解的基本类型,有以下几种基本的变量类型: 类型 描述 char 通常是一个八位字节(一个字节).这是一个整数类型. int 对机器而言,整数的最自然的大小. float 单精度浮点值. doub

nginx 内置变量详解及隔离进行简单的拦截_nginx

1,nginx内置变量 nginx 有很多内置变量可以进行简单的过滤. $arg_name 请求行中的name参数. $args 请求行中参数字符串. $cookie_name 名为name的cookie. 与$uri相同. $http_name 任意请求头的值:变量名的后半部为转化为小写并且用下划线替代横线后的请求头名称. $host "Host"请求头的值,如果没有该请求头,则为与请求对应的虚拟主机的首要主机名. $query_string 与$args相同. $realpath_

static 静态变量-iOS 的static静态变量

问题描述 iOS 的static静态变量 你好,我定义了一个静态变量 static int timeout = self.timeNumber; //倒计时时间 self.timeNumber 是int 型的. 这样赋值是错误的,请问怎么赋值给静态变量不会出错 因为 我这个timeout变量必须是static,否则NStimer就不会启动 解决方案 C++ 中的static静态变量static静态变量静态变量static 解决方案二: http://blog.csdn.net/wbw1985/a

asp.net application static静态变量用法

asp教程.net application static静态变量用法 File: Global.asax <%@ Application Language="C#" ClassName="Global" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Collections.Generic" %> <

Java中static静态变量的初始化完全解析_java

静态变量初始化顺序 1.简单规则 首先先看一段最普遍的JAVA代码: public class Test { public static Test1 t = new Test1(); public static int a = 0; public static int b; public static void main(String[] arg) { System.out.println(Test.a); System.out.println(Test.b); } } class Test1

C#中static静态变量的用法

原文:C#中static静态变量的用法 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类.字段.方法.属性.运算符.事件和构造函数,但不能用于索引器.析构函数或类以外的类型   静态全局变量 定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量. 特点: A.该变量在全局数据区分配内存. B.初始化:如果不显式初始化,那么将被隐式初始化为0.   静态局部变量 定义:在局部变量前加上static关键字时,就定义了静态局

C#中static静态变量使用说明

使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类.字段.方法.属性.运算符.事件和构造函数,但不能用于索引器.析构函数或类以外的类型   静态全局变量 定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量. 特点: A.该变量在全局数据区分配内存. B.初始化:如果不显式初始化,那么将被隐式初始化为0.   静态局部变量 定义:在局部变量前加上static关键字时,就定义了静态局部变量. 特点: A.该变量在全局数据区

java static 静态变量初始化

java static 静态变量初始化 static final int NUMBER_OF_MONTHS = 12; static final float PI = (float) 22 / 7; 如果你想使一个静态变量在其它地方可以引用的话,如下 public static final int NUMBER_OF_MONTHS = 12; public static final float PI = (float) 22 / 7; 写在函数中 public class MainClass {