php static 变量的例子
发布:smiling 来源: PHP粉丝网 添加日期:2014-06-04 09:55:17 浏览: 评论:0
变量范围的另一个重要特性是静态变量(static variable),静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失,看看下面的例子:
- class test
- {
- public static function a(){}
- public function b(){}
- }
- $obj = new test;
- //调用 代码如下:
- test::a();
- $obj->a();
- $obj->b();
例子,演示需要静态变量的例子:
- <?php
- class myobject {
- public static $mystaticvar = 0;
- function mymethod() {
- // ::为作用域限定操作符
- // 用的self作用域而不是$this作用域
- // 因为$this只表示类的当前实例,而self::表达的是类的本身
- self::$mystaticvar += 2;
- echo self::$mystaticvar . "<br />";
- }
- }
- $instance1 = new myobject();
- $instance1->mymethod(); // 显示 2
- $instance2 = new myobject();
- $instance2->mymethod(); // 显示 4
- ?>
- <?php
- class myobject {
- public static $myvar = 10;
- }
- echo myobject::$myvar;
- // 结果: 10
- ?>
本函数没什么用处,因为每次调用时都会将 $w3sky 的值设为 0 并输出 "0",将变量加一的 $w3sky++ 没有作用,因为一旦退出本函数则变量 $w3sky 就不存在了,要写一个不会丢失本次计数值的计数函数,要将变量 $w3sky 定义为静态的:
例子,使用静态变量的例子:
- <?php
- function test()
- {
- static $w3sky = 0;
- echo $w3sky;
- $w3sky++;
- }
- ?>
现在,每次调用 test() 函数都会输出 $w3sky 的值并加一.看个实例:
- <?php
- class foo
- {
- public static $my_static = 'foo';
- public function staticvalue() {
- return self::$my_static;
- }
- }
- class bar extends foo
- {
- public function foostatic() {
- return parent::$my_static;
- }
- }
- print foo::$my_static . "n";
- $foo = new foo();
- print $foo->staticvalue() . "n";
- print $foo->my_static . "n"; // undefined "property" my_static
- print $foo::$my_static . "n";
- $classname = 'foo';
- print $classname::$my_static . "n"; // php 5.3.0之后可以动态调用
- print bar::$my_static . "n";
- $bar = new bar();
- print $bar->foostatic() . "n";
- ?>
Tags: php static 变量 例子
相关文章
- ·PHP 面向对象 继承(2013-11-14)
- ·PHP面向对象开发——封装关键字(2013-11-14)
- ·php-对象的声名-构造-继承-案例(2013-11-14)
- ·开发大型PHP项目的方法(2013-11-27)
- ·php $$是什么意思(2013-11-28)
- ·几个PHP面向对象小实例(2013-12-08)
- ·关于PHP中的Class的几点个人看法(2013-12-08)
- ·PHP中的面向对象和面向过程(2013-12-08)
- ·PHP5.0中多态性的实现方案浅析(2014-01-14)
- ·PHP中MVC框架之文件入口实例详解(2014-01-16)
- ·PHP autoload实现自动加载类(2014-01-16)
- ·php __call方法使用说明(2014-01-17)
- ·PHP面向对象之旅:static变量与方法(2014-01-17)
- ·php中关于抽象(abstract)类和抽象方法的问题解析(2014-02-10)
- ·PHP Class类与对象学习笔记(2014-02-10)
- ·PHP面向对象开发之魔术函数详解(2014-02-10)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)