2012-01-23 2 views
0

method2에서 true 또는 false를 반환하는지 여부를 확인하는 구문은 무엇입니까?함수의 반환 값을 "얻을"수 있습니까?

class myClass{ 
public function method1($arg1, $arg2, $arg3){ 
    if(($arg1 + $arg2 + $arg3) == 15){ 
     return true; 
    }else{ 
    return false; 
    } 
} 

public function method2(){ 
    // how to find out if method1 returned true or false? 
} 
} 

$object = new myClass(); 
$object->method1(5, 5, 5); 
+0

발생합니다. –

+0

OOP에 대해 많이 알지 못하기 때문에. 나는 방금 배웁니다. – user1002039

+0

코드에 개체가 없습니다. 이것은 OOP와는 아무런 관련이 없습니다. 그것은 단지 기본적인 절차 PHP입니다. 어떤 책을 사용하고 있습니까? –

답변

2

당신이 그것을 몇 가지 방법 할 수있는 제안으로 이렇게하려면 :

1) 방법 2

public function method2(){ 
    // how to find out if method1 returned true or false? 
    if(method1($a, $b, $c)) 
    { 
     //do something if true 
    } 
    else 
    { 
     //do something if false 
    } 
} 

(2)의 내부에 방법 1 전화) 방법이 전에 전화 (조금 이 방법으로는 가능하지만 상황에 따라 가능할 수도 있고 이상 할 수도 있음)

$method1_result = method1($a, $b, $c); 

method2($method_result); 

//inside method 2 - change the constructor to take the method 1 result. e.g. method2($_method1_result) 

if($_method1_result) 
{ 
    //do something if true 
} 
{ 
    //do something if false 
} 

오직 r 방법 1 1의 esult (그러므로 방법 1의 반환 값은 변하지 않습니다) 그런 다음 방법 2를 여러 번 호출하려고합니다. 그러면 동일한 코드를 다시 실행하는 것을 저장하기 위해 방법 2 밖에서 더 효율적으로 수행 할 수 있습니다 (방법 1) 방법 2가 호출 될 때마다. 같은

+2

감사합니다. 이것이 제가 찾고 있던 것입니다. – user1002039

0

뭔가 : 당신이 그들을 실제 인수할지 여부는 같은 혼란 그래서

public function method2(){ 
    if($this->method1(5, 5, 5) == true){ 
     echo 'method1 returned true'; 
    } else { 
     echo 'method1 returned false'; 
    } 
} 

$obj = new myClass(); 
$obj->method2(); 

, 당신은 정상 변수로 그 인수를 정의

method1 returned true 
관련 문제