關於靜態變數支初始化一次 常用於無限極分類

2021-08-09 23:33:02 字數 534 閱讀 6946

php中的變數作用範圍的乙個重要特性就是靜態變數(static 變數),僅在區域性函式域中存在且只被初始化一次,當程式執行離開此作用域時,其值不會消失,會使用上次執行的結果。我們先來看看下面的例項: 

1<?php

2functiontest()

本函式每次呼叫時都會將 $w3sky 的值設為 0 並輸出 "0"。將變數加一的 $w3sky++ 沒有其到效果,因為一旦退出本函式則變數 $w3sky 就不存在了。要寫乙個不會丟失本次計數值的計數函式,要將變數 $w3sky 定義為靜態(static)的: 

如下: 

1<?php

2functiontest()

3

本函式每呼叫test()都會輸出 $w3sky 的值並加一。 

why靜態變數只能被初始化一次?

函式1 int fun 當fun函式被呼叫時,i會一直 函式2int fun 當函式被呼叫時只會return 1 因為 1 這兩個變數i同名但是不同意義 靜態變數 作用在全域性,生命週期和程式一樣,i在記憶體開闢的空間不會隨著函式呼叫而被銷毀 每次呼叫都會找到之前的i,所以一直 變數i 作用在區域性...

靜態變數初始化順序

1.begin a a a a,from a的物件 a a,a.num01 0 a a,b.num02 0 a a,b.instance a null end a a begin a a a a,from a的物件 a a,a.num01 1 a a,b.num02 1 a a,b.instance...

final非靜態變數初始化

size medium final變數可以在任何可以被始化的地方被始化,具體應該是建構函式之前或建構函式中,但只能被初始化一次.一旦被初始化後就不能再次賦 值 重新指向其它物件 作為成員變數一定要顯式初始化,而作為臨時變數則可以只定義不初始化 當然也不能引用 即使是作為乙個類中的成員變數,也還可以在...