2012-12-05 4 views
0

switch 문에서 함수를 호출 할 수 있습니까? 내가하려고 할 때 정의되지 않은 함수 통지를 얻고있다.php의 switch 문에서 함수를 호출 할 수 있습니까?

class MyClass { 
    function myfunction($var) 
    { 
     unset($var); 
    } 


    function checkValue($val) 
    { 
     switch ($val) { 
      case 'hello': 
       myfunction($val); 
       break; 
      case 'goodbye': 
       echo "i equals 1"; 
       break; 
     } 
    } 
} 
+1

는 내가 객체에이기 때문에 그것이 것 같아요, 그래서 $ this->하여 myFunction() – Nicola

+0

수있다 이것은 완벽하게 합법적입니다. 그러나 실제로 myfunction()이 정의되어 있습니까? 다른 파일에서 제대로 포함 되었습니까? –

+1

예, 거기에 있습니다. '$ this-> myfunction()'을 사용해야합니다. 이것은 클래스 정의에 있음을 알리는 코드에서 명확하지 않습니다 (예 : 클래스 이름에 추가 한 닫는'}' –

답변

1

예, 당신은 당신이 필요 귀하의 가정에서 올바른 :

$this->myfunction($val); //Calls the instance method myFunction 
+0

붙여 넣기를 복사 했습니까? 오타가 있다고 추측 할 수 있습니다. d 테스트하지만 내 dev 서버가 다운되었습니다 :/ –

+0

여러 프로젝트에서 이것을 사용했습니다. $ this-> function_name();'이 작동합니다. 필자가 쓸 때 함수에 변수를 전달하지 않았습니다. 답은 그래서 대답 할 때'$ this-> myfunction ($ val); '을 써야한다고 생각합니다. – morsecodemedia

관련 문제