2011-04-24 47 views
1

我可以使用當前函數之外的函數嗎?PHP:使用當前函數外的函數

例如。

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

看起來像我不能,我應該怎麼做,然後使用外面的功能?謝謝

該功能是在同一個文件中。/

+2

如果不能做到這一點,那麼函數只能調用自己,這是一個相當有限的函數使用。所以,是的,當然你可以這樣做,上面的代碼是完全有效的。你爲什麼認爲這行不通?只要調用'two(5)'就不會產生任何輸出,所以你不知道它是否「有效」。無論如何,看看:http://php.net/manual/en/language.functions.php – 2011-04-24 08:23:18

回答

5

你的功能在一個類內嗎?在這種情況下,您必須使用$this->function()而不是function()

1

工作正常。但one忽略其參數。然後,two忽略one的返回值。

3

您的代碼看起來對我有效:您聲明瞭兩個函數,分別爲onetwo;和two正在呼叫one

然後,您可以調用任何這些函數來執行它。


例如,如果執行下面的代碼部分:

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

two('plop'); 

注意,我叫two,在這個例子中的最後一行。


你會得到這樣的輸出:

string 'two' (length=3) 

string 'one' (length=3) 

這表明,這兩種功能被處決。

0

這應該做工精細 例子:

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

echo run(); 
?> 

也許你有一個問題,在其他地方?