0

function が functionをalfa呼び出す場合、関数end function内でステートメントbetaを作成するにはどうすればよいですか?returnbetaalfa

例えば:

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% 有効ではありませんが、ハックとして機能します)

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

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