International PHP Conference Berlin 2025

return

(PHP 4, PHP 5, PHP 7, PHP 8)

A declaração return 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.

Se chamada dentro de uma função, a declaração return terminará imediatamente sua execução, e retornará seus argumentos como valor à chamada da função. A declaração return também terminar a execução de uma declaração eval() ou um arquivo de script.

Se chamada no escopo global, a execução do script corrente é finalizada. Se o arquivo de script corrente for incluído ou requerido com as funções include ou or require, o controle é passado de volta ao script que está chamando. Além disso, se o script corrente foi incluído com a função include, o valor informado ao return será retornado como o valor da chamada de include. Se um return for chamado de dentro do script principal, sua execução será finalizada. Se o script corrente for mencionado nas opções de configuração auto_prepend_file ou auto_append_file php.ini, a execução do script será finalizada.

For more information, see Returning values.

Nota: Note que, como return é 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.

Nota: Se nenhum parâmetro for informado, e os parênteses omitidos, null será retornado. Chamar um return com parênteses, mas sem argumentos resultará em um erro de interpretação.

A partir do PHP 7.1.0, declarações 'return' sem um argumento em funções que declaram um tipo de retorno acionam E_COMPILE_ERROR, a não ser que o tipo de retorno seja void, nesse caso declarações 'return' com um argumento acionam esse erro.

adicione uma nota

Notas Enviadas por Usuários (em inglês) 2 notes

up
182
warhog at warhog dot net
18 years ago
for those of you who think that using return in a script is the same as using exit note that: using return just exits the execution of the current script, exit the whole execution.

look at that example:

a.php
<?php
include("b.php");
echo
"a";
?>

b.php
<?php
echo "b";
return;
?>

(executing a.php:) will echo "ba".

whereas (b.php modified):

a.php
<?php
include("b.php");
echo
"a";
?>

b.php
<?php
echo "b";
exit;
?>

(executing a.php:) will echo "b".
up
79
J.D. Grimes
11 years ago
Note that because PHP processes the file before running it, any functions defined in an included file will still be available, even if the file is not executed.

Example:

a.php
<?php
include 'b.php';

foo();
?>

b.php
<?php
return;

function
foo() {
echo
'foo';
}
?>

Executing a.php will output "foo".
To Top