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.
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".
J.D. Grimes ¶10 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".