`

PHP的static静态变量

    博客分类:
  • PHP
阅读更多

静态变量只存在于函数作用域内,也就是说,静态变量只存活在栈中。一般的函数内变量在函数结束后会释放,比如局部变量,但是静态变量却不会。就是说,下次再调用这个函数的时候,该变量的值会保留下来。

只要在变量前加上关键字static,该变量就成为静态变量了。

01 <?php
02     function test()
03     {
04         static $nm = 1;
05         $nm $nm * 2;
06         print $nm."<br />";
07     }
08      
09     // 第一次执行,$nm = 2
10     test();
11     // 第一次执行,$nm = 4
12     test();
13     // 第一次执行,$nm = 8
14     test();
15 ?>

程序运行结果:

1 2
2 4
3 8

函数test()执行后,变量$nm的值都保存了下来了。

在class中经常使用到静态属性,比如静态成员、静态方法。

Program List:类的静态成员

静态变量$nm属于类nowamagic,而不属于类的某个实例。这个变量对所有实例都有效。

::是作用域限定操作符,这里用的是self作用域,而不是$this作用域,$this作用域只表示类的当前实例,self::表示的是类本身。

01 <?php
02     class nowamagic
03     {
04         public static $nm = 1;
05          
06         function nmMethod()
07         {
08             self::$nm += 2;
09             echo self::$nm '<br />';
10         }
11     }
12      
13     $nmInstance1 new nowamagic();
14     $nmInstance1 -> nmMethod();
15      
16     $nmInstance2 new nowamagic();
17     $nmInstance2 -> nmMethod();
18 ?>

程序运行结果:

1 3
2 5

 

转自:http://www.nowamagic.net/php/php_StaticVariable.php

分享到:
评论

相关推荐

    PHP中的静态变量及static静态变量使用详解

    在PHP中,声明静态变量非常简单,只需在变量前加上关键字static即可。例如: ```php function test() { static $nm = 0; $nm += 1; echo $nm; } test(); // 输出 "1" test(); // 输出 "2" test(); // 输出 "3" ``...

    计算机后端-PHP视频教程. php与mysql加强- 05. php加强57-static静态变量wmv.wmv

    计算机后端-PHP视频教程. php与mysql加强- 05. php加强57-static静态变量wmv.wmv

    PHP static局部静态变量和全局静态变量总结

    PHP中静态变量分为局部静态变量和全局静态变量,它们都有存储状态的特性,但使用场景和初始化规则有所不同。在编程中,合理地利用静态变量,可以有效管理函数内部数据的持久化状态和程序的全局状态。 局部静态变量...

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

    PHP中static静态变量和普通变量的区别涉及到变量的作用域、生命周期以及存储位置等重要概念。对于初学者来说,理解这些区别对于编写更可靠和可维护的PHP代码至关重要。 首先,让我们澄清普通变量(也称为动态变量)...

    php中静态类与静态变量用法类.zip

    分析了php中静态类与静态变量用法类的区别,创建对象$object = new Class(),然后使用”-&gt;”调用:$object-&gt;attribute/function,前提是该变量/方法可访问。直接调用类方法量:class::attribute/function,无论是静态/...

    PHP面向对象之旅深入理解static变量与方法

    在PHP的OOP中,`static`关键字扮演着重要的角色,它用于声明类的静态变量和静态方法。静态变量和方法与类紧密关联,而非与类的实例相关。下面我们将深入探讨`static`关键字的工作原理及其应用场景。 1. **静态变量*...

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

    在PHP编程语言中,`static`关键字用于定义静态变量,这是一种特殊的变量类型,它具有不同于常规局部变量的行为。本文将详细讲解PHP中静态变量的使用方法及其特点。 首先,了解静态变量的基本概念。静态变量仅在局部...

    php 静态变量的初始化

    在PHP编程语言中,静态变量是一种特殊的成员变量,它们在类定义时被声明,并在整个脚本执行期间保留其值。与实例变量不同,静态变量不依赖于类的实例,而是与类本身相关联。理解静态变量的初始化是掌握PHP面向对象...

    php中的静态变量的基本用法

    在PHP编程语言中,静态变量是一种特殊的变量类型,它的特性在于其值能够在函数多次调用之间保持,即使函数执行完毕也不会被销毁。这种特性使得静态变量在处理计数、存储状态或者共享数据时非常有用。下面我们将深入...

    PHP面向对象之旅深入理解static变量与方法共11页

    声明静态变量使用`static`关键字,例如: ```php class MyClass { static $count = 0; } ``` 在这个例子中,`$count`是一个静态变量,无论创建多少个`MyClass`的对象,`$count`的值都是共享的。 2. 静态方法 静态...

    PHP静态成员变量和非静态成员变量详解

    2. 静态成员变量在内存中只有一份拷贝,所有类的实例共享同一份数据,这意味着修改静态变量会影响到所有实例。 3. 由于静态成员变量在类加载时就已经存在,它们在程序执行期间始终保持不变,不受类实例生命周期的...

    PHP类的静态(static)方法和静态(static)变量使用介绍

    静态变量在类中声明时使用`static`关键字。与常规的实例变量不同,静态变量不随着类的每个实例创建而独立存储,而是共享同一个内存空间。这意味着,无论创建多少个类的实例,静态变量的值都是唯一的,所有实例都能...

    php中静态类与静态变量用法的区别分析

    在PHP编程语言中,`static`关键字用于定义两种不同的概念:静态类和静态变量。这里我们将深入探讨这两种用法的区别及其在实际应用中的意义。 首先,让我们了解静态类。PHP中并没有所谓的“静态类”,这个术语可能是...

    PHP中静态变量的使用方法实例分析

    在PHP中,我们可以在类内部使用`static`关键字来定义静态变量。例如: ```php class MyClass { public static $endpoint; public static $accessKeyId; public static $accessKeySecret; public static $...

Global site tag (gtag.js) - Google Analytics