一般的函数内变量在函数结束后会释放,比如局部变量,但是静态变量却不会。下次再调用这个函数的时候,该变量的值会保留下来。

静态的变量的基本用法

1. 在类中定义静态变量 
[访问修饰符] static $变量名; 
2. 如何访问静态变量 
如果在类中访问 有两种方法 self::$静态变量名 , 类名::$静态变量名 
如果在类外访问: 有一种方法 类名::$静态变量名

class Child{ 

public $name;
//这里定义并初始化一个静态变量 $nums
public static $nums=0;
function __construct($name){ $this->name=$name;
} public function join_game(){ //self::$nums 使用静态变量
self::$nums+=1; echo $this->name."加入堆雪人游戏"; } } //创建三个小孩 $child1=new Child("李逵");
$child1->join_game();
$child2=new Child("张飞");
$child2->join_game();
$child3=new Child("唐僧");
$child3->join_game(); //看看有多少人玩游戏
echo "<br/> 有这".Child::$nums;

php -- 静态变量的更多相关文章

  1. PHP 面向对象编程和设计模式 (2/5) - 静态变量、属性和方法及延迟绑定

    PHP高级程序设计 学习笔记 2014.06.10 Static(静态)关键字用来定义静态方法和属性,static 也可用于定义静态变量以及后期静态绑定. 1.静态变量 static variable ...

  2. [转]Android静态变量的生命周期

    原文地址:https://my.oschina.net/jerikc/blog/137207 Android是用Java开发,其静态变量的生命周期遵守Java的设计.我们知道静态变量是在类被load的 ...

  3. QT,静态变量要记得初始化

    //DbUtil.h #ifndef DBUTIL_H #define DBUTIL_H using namespace std; QString md5Encode(QString passwd); ...

  4. .NET静态变量与静态方法并发的问题

    我们知道,静态变量与静态方法都是在程序编译的时候就定义好了的,并且不会存在多个副本.所以对于静态变量来说,一旦修改了就会影响全局. 因此,静态变量是存在并发性问题的,所以当我们在操作静态变量的时候需要 ...

  5. JAVA的静态变量、静态方法、静态类

    静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明. (1)Java静态对象和非静态对象有什么区别? 比对如下: 静态对象                                ...

  6. 关于C#静态变量初始化问题

    关于这个静态变量,平时自己没有太认真的去认识.最近调项目的bug,让我重新认识了静态变量的特点. 其实,我们一直都在说:静态变量只在类第一次初始化的时候进行初始化,以后都不初始化. 很简单的一句话,但 ...

  7. android 尽量不要使用static静态变量

    使用静态static静态变量潜在性问题: 1.占用内存,并且内存一般不会释放: 2.在系统不够内存情况下会自动回收静态内存,这样就会引起访问全局静态错误. 3.不能将activity作为static静 ...

  8. Java代码执行顺序(静态变量,非静态变量,静态代码块,代码块,构造函数)加载顺序

    //据说这是一道阿里巴巴面试题,先以这道题为例分析下 public class Text { public static int k = 0; public static Text t1 = new ...

  9. Java---类加载机制,构造方法,静态变量,(静态)代码块,父类,变量加载顺序

    直接上代码: 代码1: public class ConstroctTest { private static ConstroctTest test = new ConstroctTest(); // ...

  10. PHP之static静态变量详解(一)

    什么是static静态变量?(以下为在C语言中的理解) 静态变量 类型说明符是static. 静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在静态存储区内分配存储单元),该 区域中的数据在 ...

随机推荐

  1. jenkins job构建后汇总结果到同一个文本文档中去

    jenkins 构建后,执行下shell脚本,把结果汇总到同一个文件中,这样多个job构建后的结果可以在一个文件中展示 result_all_dir="/app/jenkins_result ...

  2. 依据经纬度返回地址的url -- GoogleMap

    latlng=34,112">https://maps.googleapis.com/maps/api/geocode/xml? latlng=34,112

  3. 怎样用modelsim做后仿真

    摘要: 怎样用modelsim做后仿(编译工具采用quatus) step1:在qurtus改变编译选项:     assignments->EDA tool setting:选择verilog ...

  4. 易懂的modelsim学习笔记

    1. 建一个总文件夹,如cnt2. 为源代码,测试台文件,仿真各建一文件夹.如src,tb,sim3. 编写源代码,testbench.如cnt.v,tb_cnt.v文件,同时文件名里的模块名与文件名 ...

  5. Diamond 3.5简易教程(一)------工程的建立

    测试环境(win10 x64 软件Diamond 3.5 x64) 软件下载地址:http://files.latticesemi.com/Diamond/3.5/3.5.0.102_Diamond_ ...

  6. ISE和Modelsim联合仿真(详细步骤讲解)

    ISE和Modelsim联合仿真(转) 地址:http://www.cnblogs.com/feitian629/archive/2013/07/13/3188192.html 相信很多人会遇到过这个 ...

  7. 用Visual Studio Code写Node和调试代码

    介绍 vsc的宣传语是: 一个运行于 Mac OS X.Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器. 按它说的,vsc特别适合来作为前端开发编辑器. 内 ...

  8. 每日英语:China Underwhelmed After First Apple Event

    Apple's roll-out of its latest iPhones landed with a thud in China, the company's biggest foreign ma ...

  9. MySQL PLSQL Demo - 002.变量定义、赋值

    drop procedure if exists p_hello_world; create procedure p_hello_world() begin declare v_number int; ...

  10. Ubuntu12.04下tomcat的安装与配置

    1.下载tomcat 我的tomcat是从 http://tomcat.apache.org/download-70.cgi 这里下载的tar.gz版本的. 2.解压tomcat $sudo tar ...