2012-05-25 168 views
0

裏面,我有以下的代碼,它不工作:訪問靜態變量的報價從靜態函數

<?php 
class test{ 
    public static $var = 'foo'; 
    public static function printvar(){ 
     echo "Var value is {self::$var}"; 
    } 
} 
test::printvar(); 
?> 

但是這個工程:

<?php 
class test{ 
    public static $var = 'foo'; 
    public static function printvar(){ 
     echo "Var value is " . self::$var; 
    } 
} 
test::printvar(); 
?> 

問題是,反正是有我可以從靜態方法內部訪問引號內的靜態變量?

+2

爲什麼你想呢? – flowfree

+0

可能帶有sprintf()函數,但我不確定。 – Lobo

+1

@bsdnoobz爲什麼不呢? – deceze

回答

3

通過手動:

功能,方法調用,靜態類變量和類常量內{$}工作,因爲PHP 5然而,訪問該值將被解釋爲變量的名稱在字符串被定義的範圍內。 使用單個大括號({})將無法訪問函數或方法的返回值或類常量或靜態類變量的值

更多string ...

+0

謝謝,我確實瀏覽了該頁面,但不知怎的,我錯過了突出顯示的點。 :) –