當前位置:首頁 » 編程語言 » php調用靜態變數

php調用靜態變數

發布時間: 2022-10-19 18:36:35

1. 請解釋php中靜態變數工作原理

你這個靜態變數是「 靜態局部變數 」 。 靜態(static)局部變數 不像 動態變數一樣,調用就存在,靜態變數是始終存在的,也就是即使你退出了這個方法,但當下次訪問的時候,它還是保留了上次的值,這是靜態變數的特性。

2. php中怎麼調用方法中的靜態變數

static
變數是php中的變數作用范圍的一個重要特性
靜態變數僅在局部函數域中存在且只被初始化一次,當程序執行離開此作用域時,其值不會消失,會使用上次執行的結果
一個普通的變數,如
$message
在它所在的函數執行完之後就被釋放了
即第二個function執行10次,每次執行完後,$message變數被釋放,所以每次都是1
變數前加了static後,該變數在它所在的函數執行完後不會被釋放
即第一個function每次被執行後,static
$message沒有被釋放,它將被繼續累加

3. php什麼情況下使用函數的靜態變數

說那些不清不楚沒用的,不如我舉個例子給你看就明白了

/**普通局部變數*/
functionlocal(){
$loc=0;//這樣,如果直接不給初值0是錯誤的。
++$loc;
echo$loc.'<br>';
}
local();//1
local();//1
local();//1
---------------------------------------------------------

/**static靜態局部變數*/
functionstatic_local(){
static$local=0;//此處可以不賦0值
$local++;
echo$local.'<br>';
}
static_local();//1
static_local();//2
static_local();//3

//現在知道靜態變數和普通變數的區別了吧?

4. 誰知道PHP中靜態變數是什麼意思急!

靜態變數,簡單的說,就是一種在特定范圍內一直存在的變數,你可以把全局變數當作一種靜態變數,它的值在代碼運行期間一直存在。


通常來說,靜態局部變數大多用於特殊場合里,比如,當在某函數中,希望每次運行函數時,都使用上次函數的結果,此時除使用全局變數外,就可以使用靜態變數。


以下是關於靜態局部變數特點的一些資料說明:


1.不會隨著函數的調用和退出而發生變化,不過,盡管該變數還繼續存在,但不能使用它。倘若再次調用定義它的函數時,它又可繼續使用,而且保存了前次被調用後留下的值。


2.靜態局部變數只會初始化一次。


3.靜態屬性只能被初始化為一個字元值或一個常量,不能使用表達式。即使局部靜態變數定義時沒有賦初值,系統會自動賦初值0(對數值型變數)或空字元(對字元變數);靜態變數的初始值為0。


4.當多次調用一個函數且要求在調用之間保留某些變數的值時,可考慮採用靜態局部變數。雖然用全局變數也可以達到上述目的,但全局變數有時會造成意外的副作用,因此仍以採用局部靜態變數為宜。


PHP里,定義靜態變數使用static 進行修飾。比如

static$avar=0;

5. php的靜態變數究竟有什麼作用

一、靜態變數具有這樣的特性:


當在某函數里定義一個靜態變數後,這個變數不會即使函數退出了,在下次調用這個函數時,它會使用前次被調用後留下的值。


此外,雖然該變數不隨函數的退出而繼續存在,但函數的外部並不能使用它。


因此,靜態變數的應用時機如下:


當多次調用一個函數,且要求在調用之間保留某些變數的值時,可考慮採用靜態局部變數。


雖然用全局變數也可以達到上述目的,但全局變數有時會造成意外的副作用,因此仍以採用局部靜態變數為宜。


以下是某應用中的示例代碼:

<?PHP
functionTest()
{
static$count=0;
$count++;
echo$count;
if($count<10){
Test();
}
$count--;
}
?>


二、對於類中定義的靜態變數來說,簡單點說,類的靜態成員可以不用實例化而直接使用。

6. php什麼是靜態變數

當在某函數里定義一個靜態變數後,這個變數不會即使函數退出了,在下次調用這個函數時,它會使用前次被調用後留下的值。
此外,雖然該變數不隨函數的退出而繼續存在,但函數的外部並不能使用它。

7. php中怎麼調用方法中的靜態變數

看看下面的實例:
<?php
function Test()
{
$w3sky = 0;
echo $w3sky;
$w3sky++;
}
?>

本函數每次調用時都會將 $w3sky 的值設為 0 並輸出 "0"。將變數加一的 $w3sky++ 沒有其到效果,因為一旦退出本函數則變數 $w3sky 就不存在了。
要寫一個不會丟失本次計數值的計數函數,要將變數 $w3sky 定義為靜態(static)的:
如下:
<?php
function Test()
{
static $w3sky = 0;
echo $w3sky;
$w3sky++;
}
?>

8. php中為什麼$this不能調用靜態變數卻能調用靜態方法

因為靜態變數是所有實例所共用的。$this代表的是實例化後的對象。你可以用self::來調用靜態變數。

熱點內容
android電量顯示 發布:2024-12-26 00:45:59 瀏覽:806
低版本的安卓機用什麼瀏覽器好 發布:2024-12-26 00:44:39 瀏覽:204
編譯電路輸出量 發布:2024-12-26 00:36:06 瀏覽:678
壓縮成iso文件 發布:2024-12-26 00:22:22 瀏覽:378
共軛復數的運演算法則 發布:2024-12-26 00:22:19 瀏覽:846
java視頻教程分享 發布:2024-12-26 00:22:18 瀏覽:427
web圖片緩存 發布:2024-12-26 00:21:01 瀏覽:156
verilog編譯結果 發布:2024-12-26 00:10:00 瀏覽:774
u盤啟動安裝linux系統 發布:2024-12-26 00:07:45 瀏覽:495
sizeof編譯 發布:2024-12-26 00:07:01 瀏覽:762