<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/language.control-structures.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'function.return.php',
    1 => 'return',
    2 => 'return',
  ),
  'up' => 
  array (
    0 => 'language.control-structures.php',
    1 => '制御構造',
  ),
  'prev' => 
  array (
    0 => 'control-structures.declare.php',
    1 => 'declare',
  ),
  'next' => 
  array (
    0 => 'function.require.php',
    1 => 'require',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'language/control-structures/return.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.return" class="sect1">
 <h2 class="title">return</h2>
 <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p>
 <p class="simpara">
  <code class="literal">return</code> は、プログラムの制御を呼び出し元に戻します。
  呼び出し側のモジュールでは、呼び出しの次の式から続行します。
 </p>
 <p class="simpara">
  関数内で呼び出されると、<code class="literal">return</code>文は即座に
  その関数の実行を停止し、引数を関数の値として返します。
  <code class="literal">return</code>はまた、<span class="function"><a href="function.eval.php" class="function">eval()</a></span>文や
  スクリプト自体の実行を終了させることが出来ます。
 </p>
 <p class="simpara">
  グローバルスコープで呼び出されると、現在実行中のスクリプトが終了
  します。もしそのスクリプトが
  <span class="function"><a href="function.include.php" class="function">include</a></span> もしくは
  <span class="function"><a href="function.require.php" class="function">require</a></span>
  されたものである場合、制御は呼び出し元
  のファイルに戻ります。また、そのスクリプトが <span class="function"><a href="function.include.php" class="function">include</a></span>
  されたものである場合は、<code class="literal">return</code>に与えられた引数
  の値は <span class="function"><a href="function.include.php" class="function">include</a></span> の戻り値となります。
  <code class="literal">return</code>がメインスクリプトで呼び出された場合は
  スクリプトが終了します。また、<a href="configuration.file.php" class="link">
  設定ファイル</a>の<a href="ini.core.php#ini.auto-prepend-file" class="link">
  auto_prepend_file</a> 又は <a href="ini.core.php#ini.auto-append-file" class="link">
  auto_append_file</a>オプションで指定されたスクリプトの場合も
  同様にそのスクリプトが終了します。
 </p>
 <p class="simpara">
 さらに詳しい情報に関しては<a href="functions.returning-values.php" class="link">
 戻り値</a>を参照ください。
 </p>
 <p class="para">
  <blockquote class="note"><p><strong class="note">注意</strong>: 
   <span class="simpara">
    <code class="literal">return</code> は関数ではなく言語構造であるため、
    引数を括弧で囲う必要はなく、括弧の使用は推奨されないことに注意しましょう。
   </span>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">注意</strong>: 
   <span class="simpara">
    パラメータを省略した場合は括弧も省略する必要があります。この場合の戻り値は
    <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> です。
    <code class="literal">return</code> に括弧をつけてコールしながら何も引数を指定しないと、
    パースエラーとなります。
   </span>
  </p></blockquote>
 </p>

 <p class="para">
  PHP 7.1.0 以降では、戻り値の型を宣言している関数で、
  かつ戻り値の型が <span class="type"><span class="type"><a href="language.types.void.php" class="type void">void</a></span></span> でない場合、
  引数がない return 文を使うと <strong><code><a href="errorfunc.constants.php#constant.e-compile-error">E_COMPILE_ERROR</a></code></strong> が発生するようになりました。
  戻り値の型が <span class="type"><span class="type"><a href="language.types.void.php" class="type void">void</a></span></span>  の場合、
  <code class="literal">return</code> 文に引数があると、同様のエラーが発生します。
 </p>
</div><?php manual_footer($setup); ?>