例子,php static静态变量用法。
调用:
例子,静态变量用法。
<?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
class myobject {
public static $myvar = 10;
}
echo myobject::$myvar;
// 结果: 10
?>
本函数没什么用处,因为每次调用时都会将 $w3sky 的值设为 0 并输出 "0"。
将变量加一的 $w3sky++ 没有作用,因为一旦退出本函数则变量 $w3sky 就不存在了。
要写一个不会丢失本次计数值的计数函数,要将变量 $w3sky 定义为静态的:
使用静态变量的例子:
现在,每次调用 test() 函数都会输出 $w3sky 的值并加一。
完整代码: