PHP static靜態變數

2021-07-10 06:49:14 字數 774 閱讀 9225

static靜態變數" rel="noopener noreferrer">php static靜態變數

北極熊 變數範圍的另乙個重要特性是靜態變數(static variable)。靜態變數僅在區域性函式域中存在,但當程式執行離開此作用域時,其值並不丟失。

看看下面的例子:

例子 演示需要靜態變數的例子

<?php

function test()

?>

本函式沒什麼用處,因為每次呼叫時都會將 $a 的值設為 0 並輸出 "0"。將變數加一的 $a++ 沒有作用,因為一旦退出本函式則變數 $a 就不存在了。要寫乙個不會丟失本次計數值的計數函式,要將變數 $a 定義為靜態的:

例子 使用靜態變數的例子

<?php

function test()

?>

現在,每次呼叫 test() 函式都會輸出 $a 的值並加一。

靜態變數也提供了一種處理遞迴函式的方法。遞迴函式是一種呼叫自己的函式。寫遞迴函式時要小心,因為可能會無窮遞迴下去。必須確保有充分的方法來中止遞迴。一下這個簡單的函式遞迴計數到 10,使用靜態變數 $count 來判斷何時停止:

例子 靜態變數與遞迴函式

<?php

function test()

$count--;

} ?>

注: 靜態變數可以按照上面的例子宣告。如果在宣告中用表示式的結果對其賦值會導致解析錯誤。

例子 宣告靜態變數

<?php

function foo()

?>

PHP static靜態變數

php static靜態變數 php static靜態變數 變數範圍的另乙個重要特性是靜態變數 static variable 靜態變數僅在區域性函式域中存在,但當程式執行離開此作用域時,其值並不丟失。看看下面的例子 例子 演示需要靜態變數的例子 function test 本函式沒什麼用處,因為每...

PHP static區域性靜態變數和全域性靜態變數總結

靜態區域性變數的特點 1.不會隨著函式的呼叫和退出而發生變化,不過,儘管該變數還繼續存在,但不能使用它。倘若再次呼叫定義它的函式時,它又可繼續使用,而且儲存了前次被呼叫後留下的值2.靜態區域性變數只會初始化一次3.靜態屬性只能被初始化為乙個字元值或乙個常量,不能使用表示式。即使區域性靜態變數定義時沒...

靜態變數和非靜態變數

class string1 a和b編譯報錯,can not make a static referrence to no static filed s3,s4 分析 string s1 pingguo string s2 xiangjiao string s3 new string lizi str...