2013-05-17 64 views
0

如果函数alfa调用函数beta,我将如何在函数beta内部生成return声明结束函数alfa如何在函数内部做一个“返回”结束函数?

例如:

function alfa() { 
    beta(); 
    return ('message 2'); 
} 

function beta() { 
    return ('message 1'); 
} 

当运行echo alfa($x)我想要的功能停止,并返回刚刚message 1
但我希望return beta();被忽略,代码继续,以防beta()没有回报。怎么做?从alpha()

function alfa() { 
    $beta=beta(); 
    if(!empty($beta)){ 
     return $beta; 
    }else{ 
    //code... 
    } 
} 
+2

return al()里面的beta()。或者将返回值赋给一个你可以处理它的变量。 – Kevin

+0

'return'不是一个函数,你只需要写'return'消息2';'。 – meagar

回答

2

这样做:

function alfa() { 
//code... 
return beta(); 
} 

UPDATE:

做这个

function alfa() { 
//code...  
return beta(); 
} 
+0

谢谢输入!我不清楚,重新做了这个问题。我想要返回beta();被忽略,并且代码在beta()没有返回的情况下继续。怎么做? – Sergio

+0

@Sergio,查看更新 – SAVAFA

2

返回功能beta()

+0

我不清楚,重新做了这个问题。我想'return beta();'被忽略,并且代码在beta()没有返回的情况下继续。怎么做? – Sergio

1

任一测试来自内部函数(优选的)的返回值或抛出异常:

测试返回值和信号父做的:

function alfa() { 
    var retVal = beta(); 
    return (retVal) ? retVal : ('message 2'); 
} 

抛出异常(不是100%有效的,但如果你想return beta()如果return是真实的,并继续如果return是假的被忽略将作为一个黑客)

function alfa() 
{ 
try { 
    beta(); 
    return('message 2'); 
} 
catch (err) 
{ 
    return err; 
} 
} 

function beta() 
{ 
    throw 'message 1'; 
} 
1

,这可以帮助你:

<?PHP 

function alfa() { 
    if(! beta()){  
    return ('code continue since beta has no return'); 
    } else { 
     return beta(); 
    } 
} 

function beta() { 
    return ('beta has return'); 
} 
$x = alfa(); 
echo $x; 

?> 
相关问题