看看下面的例項:
複製**
**如下:
<?php
function test()
?>
本函式每次呼叫時都會將 $w3sky 的值設為 0 並輸出 "0"。將變數加一的 $w3sky++ 沒有其到效果,因為一旦退出本函式則變數 $w3sky 就不存在了。要寫乙個不會丟失本次計數值的計數函式,要將變數 $w3sky 定義為靜態(static)的:
如下:
複製**
**如下:
<?php
function test()
?>
本函式每呼叫test()都會輸出 $w3sky 的值並加一。
靜態變數也提供了一種處理遞迴函式的方法。遞迴函式是一種自己呼叫自己的方法。寫遞迴函式時要小心,因為可能會無窮遞迴下去,沒有出口.務必確保 有方法來中止遞迴。以下這個簡單的函式遞迴計數到 10,使用靜態變數 $count 來判斷何時停止:
靜態變數與遞迴函式的例子:
複製**
**如下:
<?php
function test()
$count--; }
?>
注: 靜態變數可以按照上面的例子宣告。如果在宣告中用表示式的結果對其賦值會導致解析錯誤。
宣告靜態變數例子:
複製**
**如下:
<?php
function foo()
?>
php 靜態變數static
靜態變數只存在於函式作用域內,也就是說,靜態變數只存活在棧中。一般的函式內變數在函式結束後會釋放,比如區域性變數,但是靜態變數卻不會。就是說,下次再呼叫這個函式的時候,該變數的值會保留下來。只要在變數前加上關鍵字static,該變數就成為靜態變數了。functiontest 第一次執行,nm tes...
PHP的static靜態變數
靜態變數只存在於函式作用域內,也就是說,靜態變數只存活在棧中。一般的函式內變數在函式結束後會釋放,比如區域性變數,但是靜態變數卻不會。就是說,下次再呼叫這個函式的時候,該變數的值會保留下來。只要在變數前加上關鍵字static,該變數就成為靜態變數了。01 02functiontest 03 08 0...
PHP重置static靜態變數
php重置static靜態變數 1 todo 贈送虛擬幣類 class givencoin,max coin givenhealthgold json decode givenhealthgold,true 操作乙個靜態關鍵字 given money givenhealthgold given co...