php中static靜態變數的使用方法詳解

2021-08-17 01:48:22 字數 746 閱讀 3593

看看下面的例項:

複製**

**如下:

<?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...