2012-01-23 10 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)

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の内側の方法1を呼び出しては)方法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 
} 

もしrメソッド1 ONCEの結果(したがってメソッド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 
関連する問題