博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP类和方法内的静态变量作用
阅读量:6805 次
发布时间:2019-06-26

本文共 1134 字,大约阅读时间需要 3 分钟。

  hot3.png

" .print_r($var1,true).print_r($var2,true). ""; }}class Test{ /** * 静态变量、实例变量 **/ public static $staticVal = 1; public $instanceVal = 1; public function __construct() { $this->a(); $this->c(); p(self::$staticVal,"class static "); p($this->instanceVal,"class instance "); } public function a() { self::$staticVal++; $this->instanceVal++; } public function b() { static $val = 1; $val1 = 1; $val++; $val1++; p($val,"function static "); p($val1,"function instance "); } public function c() { self::$staticVal++; $this->instanceVal++; } //输出 public function dis() { p(self::$staticVal,"class static "); p($this->instanceVal,"class instance "); }}p("调用a,c方法,分别让类内两参数自增并输出");$test = new Test();p("再次调用a,c方法,分别让类内两参数自增并输出");$test->a();$test->c();$test->dis();p("调用b方法,分别让方法内两参数自增并输出");$test->b();p("再次调用b方法,分别让方法内两参数自增并输出");$test->b();

结果,类内静态、实例变量结果完全一样,但是方法内的静态参数会保留上一次计算的值,而实例变量每一次都会初始化。

转载于:https://my.oschina.net/lafter/blog/1546614

你可能感兴趣的文章
解决XenDesktop启动后无法加载picagina.dll文件
查看>>
linux进程管理、任务管理
查看>>
VMware出现的问题(网络)
查看>>
大话数据库编程规范
查看>>
我的友情链接
查看>>
自己收集的golang书籍
查看>>
RCP 文件路径问题
查看>>
View 4.6连接异常 求助~~~~~!
查看>>
python网络编程socketserver模块(实现TCP客户端/服务器)
查看>>
[python] 线程简介
查看>>
pure响应式布局
查看>>
homework-09
查看>>
jquery文档处理如after错误
查看>>
P3564 [POI2014]BAR-Salad Bar
查看>>
js字符串与正则匹配
查看>>
2 变量、运算符、位运算
查看>>
电路的耦合方式
查看>>
JS 创建对象的7种方法(一)
查看>>
decode
查看>>
Python Socket套接字
查看>>