<?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 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'function.return.php',
    1 => 'return',
    2 => 'return',
  ),
  'up' => 
  array (
    0 => 'language.control-structures.php',
    1 => 'Estruturas de Controle',
  ),
  'prev' => 
  array (
    0 => 'control-structures.declare.php',
    1 => 'declare',
  ),
  'next' => 
  array (
    0 => 'function.require.php',
    1 => 'require',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    '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">
  A declaração <code class="literal">return</code> retorna o controle do programa para o módulo que o chamou.
  A execução continuará na expressão seguinte à invocação do módulo.
 </p>
 <p class="simpara">
  Se chamada dentro de uma função, a declaração <code class="literal">return</code>
  terminará imediatamente sua execução, e
  retornará seus argumentos como valor à chamada da função.
  A declaração <code class="literal">return</code> também termina a execução de
  uma declaração <span class="function"><a href="function.eval.php" class="function">eval()</a></span> ou um arquivo de script.
 </p>
 <p class="simpara">
  Se chamada no escopo global, a execução do script atual
  é finalizada. Se o arquivo de script atual for incluído
  ou requerido com as funções <span class="function"><a href="function.include.php" class="function">include</a></span> ou <span class="function"><a href="function.require.php" class="function">require</a></span>,
  o controle é passado de volta ao script que está chamando. Além disso, se
  o script atual foi incluído com a função <span class="function"><a href="function.include.php" class="function">include</a></span>, o
  valor informado ao <code class="literal">return</code> será retornado como
  o valor da chamada de <span class="function"><a href="function.include.php" class="function">include</a></span>. Se um
  <code class="literal">return</code> for chamado de dentro do script principal,
  sua execução será finalizada. Se o script atual for
  mencionado nas opções de configuração <a href="ini.core.php#ini.auto-prepend-file" class="link">auto_prepend_file</a> ou <a href="ini.core.php#ini.auto-append-file" class="link">auto_append_file</a>
  <var class="filename">php.ini</var>,
  a execução do script será finalizada.
 </p>
 <p class="simpara">Para mais informações, consulte a seção sobre <a href="functions.returning-values.php" class="link">Retornando Valores</a>.
 </p>
 <p class="para">
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <span class="simpara">
    Observe que, como <code class="literal">return</code> é um construtor
    de linguagem e não uma função, os parênteses que envolvem seus
    argumentos não são exigidos e seu uso é desencorajado.
   </span>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <span class="simpara">
    Se nenhum parâmetro for informado, e os parênteses omitidos,
    <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> será
    retornado. Chamar um <code class="literal">return</code> com parênteses mas
    sem argumentos resultará em um erro de interpretação.
   </span>
  </p></blockquote>
 </p>

 <p class="para">
  A partir do PHP 7.1.0, declarações &#039;return&#039; sem um argumento em funções que declaram um tipo de retorno acionam <strong><code><a href="errorfunc.constants.php#constant.e-compile-error">E_COMPILE_ERROR</a></code></strong>,
  a não ser que o tipo de retorno seja <span class="type"><span class="type"><a href="language.types.void.php" class="type void">void</a></span></span>, nesse caso declarações &#039;return&#039;
  com um argumento acionam esse erro.
 </p>
</div><?php manual_footer($setup); ?>