<?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 => 'zh',
  ),
  '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' => 'zh',
    '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">
  如果在一个函数中调用 <span class="function"><strong>return</strong></span>
  语句，将立即结束此函数的执行并将它的参数作为函数的值返回。<span class="function"><strong>return</strong></span>
  也会终止 <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>
  的，则 <span class="function"><strong>return</strong></span> 的值会被当作 <span class="function"><a href="function.include.php" class="function">include</a></span>
  调用的返回值。如果在主脚本文件中调用
  <span class="function"><strong>return</strong></span>，则脚本中止运行。如果当前脚本文件是在 <var class="filename">php.ini</var>
  中的配置选项 <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">
    注意既然 <span class="function"><strong>return</strong></span>
    是语言结构而不是函数，因此其参数没有必要用括号将其括起来，也不推荐这样用。
   </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>
  而带了返回的参数，将导致
  <strong><code><a href="errorfunc.constants.php#constant.e-compile-error">E_COMPILE_ERROR</a></code></strong>，相反声明了返回类型而未带参数也会同样导致该错误。
 </p>
</div><?php manual_footer($setup); ?>