2014-07-10 3 views
-3

안녕하세요, 다른 방법에서 두 변수를 빼기 위해 여기에 무엇이 있습니까? 느낌이 들지 않습니다. 왜 작동하는지 알 수 없습니다.예기치 않은 결과 Php

public function GetM(){ 

     $q = $this->Cycle(); 
     $qq =$this->SageData(); 

     $this->M = $q - $qq ; 

     echo $this->M; 

내가이 프로그램을 실행할 때 나는 에코가 호출 된 각각의 방법에있다 얻을 그래서 135.0 사이클 428.4 그러나 예상 된 결과가 이유가 -293.4을해야 SageData 감산 0의 결과인가?

+0

'$ this-> Cycle()'** echo ** 135.0 또는 ** ** ** ** 135.0을 반환합니까? –

+0

$ this-> Cycle()과 $ this-> SageData()는 모두 대신 리턴해야합니까? –

+0

예 그들은해야합니다 –

답변

1

직면 한 문제는 함수에서 값을 가져 오는 것과 관련이 있습니다. 변수를 설정할 수 있도록 함수에서 값을 가져 오려면 return 문을 사용해야합니다. Cycle과 SageData를 다음과 같이 수정할 수 있습니다 :

public function Cycle() { 
    $toRet = 135.0; 

    // ...snip 
    return $toRet; 
} 
+0

더 명확하게하기 위해, 방법으로 아무것도 반환하지 않기 때문에, PHP는 "0"으로 간주합니다. 그래서 0 - 0 = 0입니다. –

+0

에코 대신에 돌아 오는 도움을 주셔서 감사합니다. –