(1)不用new一個物件,可直接取用
<?php class static_ex { public static $iValue = 0; } //直接取得靜態變數 echo static_ex::$iValue; //改變靜態變數值 static_ex::$iValue=10; echo static_ex::$iValue; ?>
(2)靜態變數V.S靜態函數
<?php class 車子 { //類別變數 public static $車型="Mazda! "; //類別函數 public function 車單($車型){ //引數 $車型 function 變數和上面的變數無關 echo $車型; } } //用類別方法(靜態呼叫變數) echo 車子::$車型; //用類別方法(靜態呼叫函數) //Java不能這樣用 車子::車單("Honda! "); //先產生一台車子 $車子 = new 車子; //輸出車子裡面的 車型 實體化變數 echo $車子->車型; //Notthing 什麼也沒有(進入overloading) //使用車子裡面的函數 $車子->車單("Toyota! "); ?>
// PHP 版的 Fibonacci Sequence 遞迴函式 function fibV2($n) { static $result = array(); if (!isset($result[$n])) { if ($n <= 2) { $result[$n] = 1; } else { $result[$n] = fibV2($n - 2) + fibV2($n - 1); } } return $result[$n]; } $start_time = (float) microtime(true); echo fibV2(20), "\n"; $end_time = (float) microtime(true); echo "Spent Time: ", ($end_time - $start_time), "(s)\n"; /* output: 6765 Spent Time: 0.0009009838104248(s) */
(1)http://www.php5.idv.tw/html.php?mod=article&do=show&shid=75
(2)http://www.jaceju.net/blog/archives/670/
(3)http://andys0623.blogspot.tw/2012/08/static-c.html
(4)http://blog.kenyang.net/2011/03/java-staticfinal.html