·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> php网站开发 >> php static 变量的例子

php static 变量的例子

作者:佚名      php网站开发编辑:admin      更新时间:2022-07-23
php static 变量的例子

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 就不存在了。要写一个不会丢失本次计数值的计数函数(www.111cn.net),要将变量 $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"; ?>

from:http://www.111cn.net/phper/php/php-static.htm