2011-04-24 9 views
1

現在の関数の外にある関数を使用できますか?PHP:現在の関数外の関数を使用

例えば、

function one($test){ 
return 1; 
} 
function two($id){ 
one($id); 
} 

私はカントのように見えますが、どうすれば外にある機能を使用するのですか?おかげ

機能が..同じファイルである/完全に有効です

+2

もしそれができないのであれば、関数は自分自身を呼び出すことができます。これは機能のかなり限られた使用です。もちろん、そういうこともできますし、上記のコードは完全に有効です。なぜそれは動作しないと思いますか? 'two(5) 'を呼び出すだけでは出力が得られないので、それが"働いた "かどうかは分かりません。いずれにしても、http://php.net/manual/en/language.functions.phpをご覧ください。 –

答えて

5

あなたのクラスはクラス内にありますか?その場合はfunction()の代わりに$this->function()を使用する必要があります。たぶん、あなたが他の場所で問題が発生している

<?php 
function test ($asd) 
{ 
    return $asd; 
} 
function run() 
{ 
    return test('dd'); 
} 

echo run(); 
?> 

1

これは問題なく動作します。ただし、oneはそのパラメータを無視します。次に、twoは、戻り値をoneから無視します。

3

あなたのコードは、onetwoという2つの関数を宣言しています。 twooneです。

これらの関数を呼び出して実行することができます。例えば


、あなたは次のコードの一部を実行している場合:私は、この例の最後の行に、twoと呼ば

function one($test){ 
    var_dump(__FUNCTION__); 
    return 1; 
} 
function two($id){ 
    var_dump(__FUNCTION__); 
    one($id); 
} 

two('plop'); 

注意。

string 'two' (length=3) 

string 'one' (length=3) 

両方の機能が実行されたことを示しています


あなたはこのような出力を得るでしょう。

0

これは細かい 例を動作するはず?

関連する問題