<?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 => 'ru',
  ),
  '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' => 'ru',
    '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">
  При вызове из глобальной области видимости инструкция <code class="literal">return</code>
  завершает выполнение текущего файла скрипта.

  Управление возвращается в файл, из которого для подключения файла скрипта
  вызвали инструкции <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>.
  Значение инструкции <code class="literal">return</code> вернётся
  как значение вызова инструкции <span class="function"><a href="function.include.php" class="function">include</a></span>,
  когда файл скрипта подключили через <span class="function"><a href="function.include.php" class="function">include</a></span>.

  Выполнение скрипта завершается, если инструкция <code class="literal">return</code>
  вызывается из главного файла скрипта.

  Если опции конфигурации <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> в файле <var class="filename">php.ini</var>
  называют текущий файл скрипта, выполнение этого файла скрипта завершается.
 </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">
    При вызове без аргумента инструкция <code class="literal">return</code> вернёт <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 инструкции возврата без аргумента в функциях,
  которые объявляют возвращаемый тип, вызывают ошибку уровня <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>, тогда
  инструкции возврата с аргументом вызывают такую ошибку.
 </p>
</div><?php manual_footer($setup); ?>