php中static静态变量的使用方法详解

转载 2013年12月02日 15:47:54
php中的变量作用范围的另一个重要特性就是静态变量(static 变量)。静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果。
看看下面的实例:
<?php 
function Test() 
{ 
$w3sky = 0
echo $w3sky
$w3sky++
} 
?> 
 
 本函数每次调用时都会将 $w3sky 的值设为 0 并输出 "0"。将变量加一的 $w3sky++ 没有其到效果,因为一旦退出本函数则变量 $w3sky 就不存在了。要写一个不会丢失本次计数值的计数函数,要将变量 $w3sky 定义为静态(static)的: 
如下: 
<?php 
function Test() 
{ 
static $w3sky = 0
echo $w3sky
$w3sky++
} 
?> 
 本函数每调用Test()都会输出 $w3sky 的值并加一。 
静态变量也提供了一种处理递归函数的方法。递归函数是一种自己调用自己的方法。写递归函数时要小心,因为可能会无穷递归下去,没有出口.务必确保 有方法来中止递归。以下这个简单的函数递归计数到 10,使用静态变量 $count 来判断何时停止: 
静态变量与递归函数的例子: 
 
<?PHP 
function Test() 
{ 
static $count = 0
$count++
echo $count
if ($count < 10) { 
Test()
} 
$count--
} 
?> 
 
 注: 静态变量可以按照上面的例子声明。如果在声明中用表达式的结果对其赋值会导致解析错误。 
声明静态变量例子:  
 
<?PHP 
function foo(){ 
static $int = 0;// correct 
static $int = 1+2// wrong (as it is an expression) 
static $int = sqrt(121)// wrong (as it is an expression too) 
$int++
echo $int
} 
?> 

PHP中静态(static)调用非静态方法详解

1.PHP中可以静态调用非静态方法么? 今天我被问到PHP中可不可以使用 className::methodName() 的方法来调用一个没有声明static的方法。在我的印象中,我好像是见过这...
  • u012116169
  • u012116169
  • 2015年09月15日 20:06
  • 4687

php函数内的static变量以及类static方法

A: 函数内的static变量 static静态变量的理解 静态变量 类型说明符是static。静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中...
  • u012111815
  • u012111815
  • 2015年02月12日 17:56
  • 3486

c++中static的用法详解

C 语言的 static 关键字有三种(具体来说是两种)用途: 1. 静态局部变量:用于函数体内部修饰变量,这种变量的生存期长于该函数。 int foo(){ static int i = 1; ...
  • majianfei1023
  • majianfei1023
  • 2015年04月26日 19:57
  • 10554

php中static静态变量的使用方法详解

最近在看phpcms源码的时候,经常看到在一些函数中有定义一些st
  • lwlbj
  • lwlbj
  • 2014年04月10日 20:43
  • 1363

php static静态变量及方法详解

static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为“类属性”或“类方法”。 如果访问控制权限允许,可不必创建该类对象而直接使用类名加两个...
  • samll_snail
  • samll_snail
  • 2016年04月29日 09:56
  • 259

php中static 静态变量和普通变量的区别

1、在变量的前面加上static 就构成了静态变量(static 变量)。 2、static变量和普通变量的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变...
  • qq_28831259
  • qq_28831259
  • 2017年03月14日 16:55
  • 109

php中静态变量(static)与自定义常量的使用

php中静态变量(static)与自定义常量的使用:  1.php中静态变量是指用static声明的变量,这种变量与局部变量的区别是,当静态变量离开了它的作用范围后,它的值不会自动消亡,而是继续存在...
  • u012767263
  • u012767263
  • 2013年11月29日 15:52
  • 666

Static静态变量的用法,记忆所点击的次数,VB.net2008源代码编写

  • 2009年04月10日 13:45
  • 2.58MB
  • 下载

this、static关键字(静态变量、方法、代码块)| 单例模式

this 关键字 static关键字 静态变量 单例模式
  • yPassion
  • yPassion
  • 2017年08月08日 18:57
  • 178

C#学习笔记之六 类定义中static关键字的用法暨C#中静态变量的意义与使用

在定义类中的一个成员变量的时候,如果使用了static 关键字。那么这个类就只会 有这一个变量,称它是静态变量,它是属于这个类的,是类的专有的静态变量,而不是属于类的实例(对象)的。那么,属于这个类的...
  • CGGUANG
  • CGGUANG
  • 2016年11月06日 21:47
  • 1686
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php中static静态变量的使用方法详解
举报原因:
原因补充:

(最多只允许输入30个字)