php的類屬性其實有兩種,一種是類常量,一種是類靜態變數。兩種容易引起混淆。
如同靜態類方法和類例項方法一樣,靜態類屬性和例項屬性不能重定義(同名),但靜態屬性可以和類常量同名。
<?php
class test
}$obj=new test();
echo test::constvar //輸出'hello world'
echo test::staticvar //出錯,staticvar 前必須加$才能訪問,這是容易和類常量(per-class常量)容易混淆的地方之一
echo test::$staticvar //輸出'hello world'
$str='test';
echo $str::$staticvar //出錯,類名在這不能用變數動態化
echo $str::constvar //出錯原因同上
//在類名稱存在乙個變數中處於不確定(動態)狀態時,只能以以下方式訪問類變數
$obj2=new $str();
echo $obj2->getstaticvar();
?>
PHP 類屬性 類靜態變數的訪問
php的類屬性其實有兩種,一種是類常量,一種是類靜態變數。兩種容易引起混淆。如同靜態類方法和類例項方法一樣,靜態類屬性和例項屬性不能重定義 同名 但靜態屬性可以和類常量同名。class test obj new test echo test constvar 輸出 hello world echo ...
PHP中類屬性與類靜態變數的訪問方法示例
created on 2016 7 13 class test obj new test echo test constvar 輸出 hello world echo test staticvar 出錯,staticvar 前必須加 才能訪問,這是容易和類常量 per class常量 容www.cp...
php靜態變數
在函式執行完後,變數值仍然儲存,並沒有變回初始設定的值0。function test test test test 結果 1 23可以發現a設定靜態變數之後,每次 a的值都儲存下來了。我剛開始還以為這個變數變成了全域性變數,測試發現這個變數 a依然只能在函式裡呼叫,在函式外是不能呼叫的。我們再來看看...