如何访问静态成员php,php – 如何访问类的静态成员?
如果A是一個類,你可以通過A :: $ strName直接訪問它。
class A {
public static $strName = 'A is my name';
}
echo A::$strName; // outputs "A is my name"
更新:
根據你的數組內容,不管我喜歡將其定義為類對象還是類文字,都可能是一個因素。我區分這兩個術語,
$objClasses = array(new A(), new B()); // class objects
$myClasses = array('A','B'); // class literals
如果你去了類文字方法,然后使用PHP5.2.8的foreach循環,我在使用scope resolution operator時給出了一個語法錯誤。
foreach ($myClasses as $class) {
echo $class::$strName;
//syntax error, unexpected '::', expecting ',' or ';'
}
所以我想到了使用類對象的方法,但我實際輸出靜態變量的唯一方法是使用一個對象的實例,并使用self關鍵字,
class A {
public static $strName = 'A is my name';
function getStatic() {
return self::$strName;
}
}
class B {
public static $strName = 'B is my name';
function getStatic() {
return self::$strName;
}
}
然后在迭代時調用該方法,
foreach($objClasses as $obj) {
echo $obj->getStatic();
}
那在那一點呢為什么要聲明變量static?它破壞了訪問變量的整個想法,而不需要實例化一個對象。
總之,一旦我們有更多的信息,你想做什么,我們可以繼續提供更好的答案。
總結
以上是生活随笔為你收集整理的如何访问静态成员php,php – 如何访问类的静态成员?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中查出所有姓张的学生为啥查不出来_只有笔
- 下一篇: apmserv 5.2.6 升级php,