在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);
答案 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