首頁 >後端開發 >php教程 >php static 變數使用的例子

php static 變數使用的例子

WBOY
WBOY原創
2016-08-08 09:33:201299瀏覽

php static 變數使用的例子

class test
{
public static function a(){}
public function b(){}
}
$obj = new test;

呼叫 程式碼

test::a();
$obj->a();
$obj->b();

 

例 示範需要靜態變數的範例

class myobject {
public static $mystaticvar = 0;

function mymethod() {
// ::為作用域限定運算子
// 用的self作用域而不是$this作用域
// 因為$this只表示類別的當前實例,而self::表達的是類別的本身
self::$mystaticvar += 2;
echo self::$mystaticvar . "
";
}
}

$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 就不存在了。要寫一個不會遺失本次計數值的計數函數(www.111cn.net),要將變數 $w3sky 定義為靜態的:


範例 使用靜態變數的例子

function test()
{
static $w3sky = 0;
echo $w3sky;
$w3sky++;
}
?>
現在,每次呼叫 test() 函數都會輸出 $w3sky 的值並加一。

看個實例


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";
?>


以上就介紹了php static 變數使用的例子,包括了面向的內容,希望對PHP教學有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn