2012-05-25 170 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

谢谢,我确实浏览了该页面,但不知怎的,我错过了突出显示的点。 :) –