1

コード 1 (WORK ARIGHT):

function Hello( $rel ) {
   $res = mysqli("SELECT * FROM TABLE");
   $result = $res->num_rows;
   if ( $rel == 1 ) {
      print $result;
   } elseif ( $rel == 2 ) {
      echo $result;
   } elseif ( $rel == 3 ) {
      return $result;
   } else { 
      return $result;
   }
}

$pr = HELLO(3);
echo $pr;

コードは正常に機能します。

次に、データを処理して結果を出力する関数を 1 つ実行したいと考えました。

コード:

function out( $rel, $result ) {
   if ( $rel == 1 ) {
      print $result; 
   } elseif ( $rel == 2 ) {
      echo $result;
   } elseif ( $rel == 3 ) {
      return $result;
   } else { 
      return $result;
   }
}

function Hello( $rel ) {
   $res = mysqli("SELECT * FROM TABLE");
   $result = $res->num_rows;
   out( $rel, $result )
}

$pr = HELLO(3);
echo $pr;

しかし、今ではコードが機能しません(オンラインで結果を表示しませんecho $pr;)...

エラーが発生した理由と、正しい書き方を教えてください。

PS:関数の前に return を使用する必要があるかどうかはわかりません。私の新しい知識に感謝します。

4

2 に答える 2

1

returnに追加するのを忘れただけですout($rel,$result)

現在のように、Hello()関数には戻り値がありません。

于 2013-10-11T08:53:05.230 に答える
0

2 番目のコードで値を返していません。

次のように使用する必要があります。

return out($rel,$result).

戻り値は 2 番目の関数にあります。2 番目の関数は最初に関数に値を返します。今度は最初の関数も返す必要があるため、そこにも return を追加する必要があります。

于 2013-10-11T08:52:49.293 に答える