0

如果函数alfa调用函数beta,我将如何return在函数beta结束函数中声明alfa

例如:

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

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

运行时,echo alfa($x)我希望函数停止并返回message 1.
但我希望return beta ();被忽略并且代码继续,以防万一beta()没有回报。怎么做?

4

4 回答 4

2

做这个:

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

更新:

做这个:

function alfa() {
   $beta=beta ();
   if(!empty($beta)){
      return $beta;
   }else{
     //code...
   }
}
于 2013-05-17T17:10:51.143 回答
2

返回函数beta()来自alpha()

function alfa() {
//code...    
return beta ();
}
于 2013-05-17T17:11:33.163 回答
1

测试内部函数的返回值(首选)或抛出异常:

测试返回值并告知父母该怎么做:

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

抛出异常(不是 100% 有效,但可以作为 hack)

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

function beta()
{
   throw 'message 1';
}   
于 2013-05-17T17:15:11.307 回答
1

如果您想在为真return beta()时被忽略并在为假return时继续,这可能会对您有所帮助:return

 <?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;

?>
于 2013-05-17T17:29:12.797 回答