2016-05-19 9 views
0

同じクラスの関数内の関数から結果をエコーするのに問題があります。PHPは同じクラスの別の関数から返された値を返す

Here it is: 

が私second_functionに$文字列をエコー()の結果で:

testHere it is: 

任意の提案だけ返し

class className 
    { 
     function first_function() 
     { 
      echo "Here it is: " . $this->second_function('test'); 
     } 

     function second_function($string) 
     { 
      return $string; 
     } 
    } 

?ありがとうございました。

+1

こんにちは、それは仕事です。エラーメッセージは何ですか? – Iwan

+0

期待される出力は? – Chay22

+0

私はそれがエコーする必要があると推測しています*ここにあります:テスト* ...そして、私はすぐに理由を見ることができません。 – CD001

答えて

0
class className 
    { 
     function first_function() 
     { 
      echo "Here it is: " . $this->second_function('test'); 
     } 

     function second_function($string) 
     { 
      return $string; 
     } 
    } 


    $obj = new className(); 
    $a= $obj->first_function(); 
    echo $a; 
+0

問題は何ですか? –

1

@cherryTDと記載しましたが、コードを簡略化しました。なぜそれがうまくいかないのか分かります。他の人を助けるかもしれないので、ここに掲示する。 第二の機能は再帰関数であり、それは動作しませんでした:

function second_function($var,$cnt) { 
    [database query] 
    if(result) { 
     $cnt++; 
     $this->second_function($var, $cnt); 
    } else { 
     return $var; 
    } 
} 

しかし、これは作業を行います。

function second_function($var,$cnt) { 
    [database query here] 
    if(result) { 
     $cnt++; 
     return $this->second_function($var, $cnt); 
    } else { 
     return $var; 
    } 
} 

自体の中から関数を呼び出すときにが必要でしたリターン。

はそう:

$this->second_function($var, $cnt); 

がなければなりませんでした:

return $this->second_function($var, $cnt); 

は、応答のためにみんなありがとう。

関連する問題