2011-10-11 129 views
1

我有一个关于我的函数的问题。让我解释一下,我有两个函数:PHP返回嵌套函数

/* This function works properly 
; example : echo first('Hello world', 'return'); 
*/ 
function first($string, $return = 'echo') 
{ 
if($return == 'echo') 
{ 
    echo $string; 
} 
else 
{ 
    return $string; 
} 
} 

这是第二个函数,正在调用第一个函数。

/* This function doesn't works 
; example : echo second('my string', 'return'); 
*/ 
function second($string, $return = 'echo') 
{ 
first($string, $return); 
} 

问题是我想要的第二功能等,作为简单如上。

回答

4

你需要return来自second()。否则,first(),在它内部调用,将输出echo,但它返回给调用者的值(second())无效并丢失。从second()将呼叫值返回first()

function second($string, $return = 'echo') 
{ 
    return first($string, $return); 
} 
+0

哇,看起来合法:)谢谢...那worksssss,对不起,你可以在8分钟内接受答案。 – oknoorap

+0

准确地说,你从first()得到了值,但second()不知道如何处理它。所以,它停止了任何事情。 – Biotox