如何“获取”函数的返回值?

时间:2012-01-23 00:08:56

标签: php

在method2中找出method1 one返回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);

2 个答案:

答案 0 :(得分:2)

按照你的建议你可以做几件事:

1)在方法2中调用方法1

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)在方法2之前调用它(有点奇怪,这样做但可能并且根据上下文可能需要)

$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
}

如果您只需要方法1 ONCE的结果(因此方法1的返回值不会改变)那么并且将多次调用方法2然后您可以更有效地执行它方法2保存每次调用方法2时重新运行相同的代码(方法1)。

答案 1 :(得分: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