return

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

return devuelve el control del programa al módulo llamante. La ejecución se reanuda entonces en la instrucción siguiente a la invocación del módulo.

Si se llama desde una función, el comando return termina inmediatamente la función y devuelve el argumento que se le pasa. return también interrumpe la ejecución del comando eval() o de scripts.

Si se llama desde el entorno global, la ejecución del script se interrumpe. Si el script actual fue incluido con la estructura include o require, entonces el control se devuelve al script llamante. Además, si el fichero del script actual ha sido incluido a través de la instrucción include, entonces el valor devuelto será utilizado como resultado de la instrucción include. Si return es llamada desde el script principal, entonces la ejecución del script se detiene. Si el script actual es auto_prepend_file o auto_append_file en el fichero php.ini, entonces la ejecución del script se detiene.

Para más información, véase devolver valores.

Nota: Tenga en cuenta que ya que return es una estructura de lenguaje, y no una función, los paréntesis que rodean los argumentos no son necesarios y su uso está desaconsejado.

Nota: Si no se proporciona ningún parámetro, entonces los paréntesis deben ser omitidos y null será devuelto. La llamada de return con paréntesis pero sin argumento resultará en una alerta de análisis.

A partir de PHP 7.1.0, las declaraciones de retorno sin argumento en la función generan un E_COMPILE_ERROR, excepto si el tipo de retorno es void, en cuyo caso las declaraciones de retorno con un argumento generan este error.

add a note

User Contributed Notes 2 notes

up
182
warhog at warhog dot net
19 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