PHP的static靜態變數

2021-09-02 13:23:14 字數 1962 閱讀 3025

靜態變數只存在於函式作用域內,也就是說,靜態變數只存活在棧中。一般的函式內變數在函式結束後會釋放,比如區域性變數,但是靜態變數卻不會。就是說,下次再呼叫這個函式的時候,該變數的值會保留下來。

只要在變數前加上關鍵字static,該變數就成為靜態變數了。

01<?php

02functiontest()

03

08

09// 第一次執行,$nm = 2

10test();

11// 第一次執行,$nm = 4

12test();

13// 第一次執行,$nm = 8

14test();

15?>

程式執行結果:

12

24

38

函式test()執行後,變數$nm的值都儲存了下來了。

在class中經常使用到靜態屬性,比如靜態成員、靜態方法。

program list:類的靜態成員

靜態變數$nm屬於類nowamagic,而不屬於類的某個例項。這個變數對所有例項都有效。

::是作用域限定操作符,這裡用的是self作用域,而不是$this作用域,$this作用域只表示類的當前例項,self::表示的是類本身。

view source

print?

01<?php

02classnowamagic

03

11}

12

13$nminstance1=newnowamagic();

14$nminstance1-> nmmethod();

15

16$nminstance2=newnowamagic();

17$nminstance2-> nmmethod();

18?>

程式執行結果:

13

25

**:

php 靜態變數static

靜態變數只存在於函式作用域內,也就是說,靜態變數只存活在棧中。一般的函式內變數在函式結束後會釋放,比如區域性變數,但是靜態變數卻不會。就是說,下次再呼叫這個函式的時候,該變數的值會保留下來。只要在變數前加上關鍵字static,該變數就成為靜態變數了。functiontest 第一次執行,nm tes...

PHP重置static靜態變數

php重置static靜態變數 1 todo 贈送虛擬幣類 class givencoin,max coin givenhealthgold json decode givenhealthgold,true 操作乙個靜態關鍵字 given money givenhealthgold given co...

關於PHP的static 靜態 變數

首先明確一下static在語法上的定義 php中的類中,靜態變數前要加static關鍵字修飾,而例項變數前則不加。靜態變數是什麼 靜態變數可以直接用類名加 呼叫,而不需要去例項化類,靜態變數的生命週期取決於類的生命週期,靜態變數一旦被呼叫,就會始終存在記憶體中,直到程式結束之後,靜態變數才會被登出。...