PHP 類屬性 類靜態變數的訪問

2021-08-27 13:10:04 字數 578 閱讀 7803

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依然只能在函式裡呼叫,在函式外是不能呼叫的。我們再來看看...