php static 變數的例子,phpstatic_PHP教程

來源:互聯網
上載者:User

php static 變數的例子,phpstatic


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

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

http://www.bkjia.com/PHPjc/913102.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/913102.htmlTechArticlephp static 變數的例子,phpstatic class test { public static function a(){} public function b(){} } $obj = new test; 調用 代碼 test::a(); $obj-a(); $obj-b(); 例子 示範需...

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.