2012-07-24 70 views
-1
class ab{ 
    public static $abc = 34; 
    public static function asd(){ 
     $a = "abc"; 
     echo self::$a; //output 34; 
    } 
} 
ab::asd(); 

我想找到一种方法来指向一个类的静态成员。就像上面的例子,我怎么能做这个工作?可以指出一个PHP类的静态成员吗​​?

+0

self :: $ a ='abc'; – yent 2012-07-24 11:44:20

+3

你试过了什么?你得到的错误是什么?你应该能够指出那样的方法。 – dpitkevics 2012-07-24 11:44:22

回答

2

如果你访问一个静态变量,语法如下:

MyClass::$variable 

所以,你在做什么缺乏间接:

echo self::$$a; //output 34; 

这适用于常规变量以同样的方式:

$variable 

and with indirection:

$name = "variable"; 
$$name 

针对您的下一个问题的建议:尝试在您的问题中更加精确。要注意以下几点:

  • 你有什么
  • 它应该做的
  • 究竟是什么呢
  • ,如果你知道

这有助于提供相关的答案在哪里出现错误而不是参与元讨论来澄清你的问题。

+0

很高兴知道,从来没有见过双人前$,谢谢。 – 2012-07-24 11:59:57

+0

@WouterH:你可以对常规变量做同样的操作:'$ name =“my_variable”; $$ name' – phant0m 2012-07-24 12:01:21

+0

我会用'eval()'函数做一些事情,但这样更简单:) – 2012-07-24 12:03:27

相关问题