2012-07-24 5 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

+3

당신은 무엇을 시도 했습니까? 당신이 얻는 오류는 무엇입니까? 당신은 그 방법을 지적 할 수 있어야합니다. – dpitkevics

답변

2

정적 변수에 액세스하는 경우, 구문은 다음이 일반 변수와 동일한 방식으로 작동

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

:

MyClass::$variable 

은 그래서 당신이하고있는 것은 간접 부족 :

$variable 

간접 참조 :

$name = "variable"; 
$$name 

다음 질문에 대한 조언 : 더 정확하게 질문하십시오. 다음에주의 :

  • 당신은 무엇
  • 는 어떻게해야
  • 실제로 무엇을
  • 오류가 당신이 관련 답변을 제공하는 데 도움이

를 알고있는 경우에 발생

  • 질문을 명확히하기 위해 메타 토론에 참여하는 대신 더 빨리

  • +0

    잘 알고, 두 번 본 적이 $ - 전에, 감사합니다. –

    +0

    @WouterH : 일반 변수에서도 같은 작업을 수행 할 수 있습니다 :'$ name = "my_variable"; $$ name' – phant0m

    +0

    'eval()'함수로 뭔가를했을 것입니다. 그러나 이것은 더 쉬운 방법입니다 :) –

    관련 문제