PHP 利用函式的靜態變數 指定迭代次數

2021-08-02 14:03:51 字數 593 閱讀 9479

在php中,除了類的靜態成員屬性外,在函式中同樣可以利用 static 定義靜態變數。從而便捷的完成函式迭代。

例1:

<?php

function

test

()?>

在上例中,每次呼叫test函式,a都

被重新賦

值為0,

因為一旦

退出本函

數則變數

a 就不存在了。要想完成迭代,需要寫乙個不會丟失本次計數值的計數函式,要將變數 $a 定義為靜態的:

<?php

function

test

()?>

這樣$a只在第一次呼叫時被賦值,之後在每次呼叫時加1,並且不會被重寫。

這樣便可利用此特性,對某操作指定次數的迭代:

例2:(獲取將某陣列彈出5個元素後的結果)

$arr = range(1,10,1);

function

test

($arr)

else

}test($arr);

php靜態變數

在函式執行完後,變數值仍然儲存,並沒有變回初始設定的值0。function test test test test 結果 1 23可以發現a設定靜態變數之後,每次 a的值都儲存下來了。我剛開始還以為這個變數變成了全域性變數,測試發現這個變數 a依然只能在函式裡呼叫,在函式外是不能呼叫的。我們再來看看...

php 靜態變數static

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

PHP的靜態變數管理

php的靜態變數需要集中管理,比如一些系統標識或者型別標識。我的乙個想法是用型別類來管理。乙個型別基類 author jixiaolong todo 型別基類 class typebase function destruct modify by jixiaolong 2013 4 5 public ...