導航:首頁 > 編程語言 > php靜態方法調用變數

php靜態方法調用變數

發布時間:2022-10-03 17:11:36

php父類如何調用子類的靜態方法或變數

<?php
classA{
staticpublic$m=1;
staticpublicfunctionm(){
echostatic::$m,'<br/>';
}
staticpublicfunctionn(){
static::n();
}
}
classBextendsA{
staticpublic$m=111;
staticpublicfunctionm(){
parent::m();
}
staticpublicfunctionn(){
echoparent::$m,'<br/>';
}
}
B::m();
B::n();

㈡ 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++;
}
?>

㈢ php 使用靜態方法的幾個注意事項說明

1.即使類中的方法並未用static聲明,但其未使用到可改變的類成員變數,在外部仍可用操作符::來調用;

2.以靜態方式(用::操作符)調用的方法中$this的取值是由調用時的上下文決定的!而不是定義他的類!!

例如以下的代碼:


<?php
classTestClass1
{
public$normal_v='normal_vfromTestClass1';
publicstatic$STATIC_V='STATIC_VfromTestClass1';
publicfunctiontest_func1()
{
echo$this->normal_v.'<br/>'.self::$STATIC_V;
}
}
classTestClass2
{
public$normal_v='normal_vfromTestClass2';
publicstatic$STATIC_V='STATIC_VfromTestClass2';
publicfunctiontest_func2()
{
TestClass1::test_func1();
}
}
$t2=newTestClass2();
$t2->test_func2();

這段代碼是輸出會是什麼呢,我原以為會是normal_v from TestClass1 <br /> STATIC_V from TestClass1,測試發現其實我錯了,正確的輸出是:

normal_v from TestClass2
STATIC_V from TestClass1

說明:test_func1()雖然是在TestClass1中定義的,但卻是在TestClass2中調用的,其內部的$this變數則是由TestClass2決定的!

其實這兩個類的關系應該屬於"雙向關聯".

㈣ php 靜態方法里的變數問題

你調用了,兩次方法AA。所以輸出12/13,只不過,echo沒有換行

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

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

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

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

㈦ php 靜態方法能掉非靜態變數嗎

可以是可以,但是那樣就和設計靜態方法的目的矛盾了,使用靜態方法的目的是為了不用實例化對象直接用類名快速調用,而如果靜態方法要調用非靜態變數那就必須得先在靜態變數里實例化對象,再用對象來調用。所以可以是可以,但不推薦那樣做。

㈧ php 靜態方法為什麼不能調用this

static關鍵字聲明一個屬性或方法是和類相關的,而不是和類的某個特定的實例相關,因此,這類屬性或方法也稱為「類屬性」或「類方法」。
2. 靜態變數的調用方法:只能使用slef:: 或者 類名:: 訪問,不能使用$this訪問;反之,類的成員變數未聲明為const及static時,只能使用$this訪問,不能用::訪問。

閱讀全文

與php靜態方法調用變數相關的資料

熱點內容
安卓微信如何更換鈴聲 瀏覽:599
程序員談判場在哪裡 瀏覽:413
山東有線伺服器中斷雲主機 瀏覽:472
java截取文件名 瀏覽:463
jquery教程pdf 瀏覽:164
三略pdf 瀏覽:584
spiflash單片機 瀏覽:11
阿里雲的域名怎麼解析到國外伺服器 瀏覽:299
app客戶端開發用什麼伺服器 瀏覽:293
台灣人能備案雲伺服器嗎雲空間 瀏覽:468
程序員小哥哥都喜歡動漫 瀏覽:374
如何用免費亞馬遜雲搭建伺服器 瀏覽:665
php評論功能實現代碼 瀏覽:526
犀牛中移動物件命令 瀏覽:788
程序員上班期間可以戴耳機嗎 瀏覽:257
伺服器啟動卡怎麼使用 瀏覽:796
逛了一天累趴了來一歌解壓句子 瀏覽:347
谷歌app在哪裡掃碼 瀏覽:991
華為手環加密門禁卡怎麼設置 瀏覽:734
pdf轉xlsx 瀏覽:96