(PHP 4, PHP 5, PHP 7, PHP 8)
return retourne le contrôle du programme au module appelant.
L'exécution reprend alors à l'instruction suivante de l'invocation du module.
Si appelée depuis une fonction, la commande return
termine immédiatement la fonction et retourne l'argument qui lui est passé.
return interrompt aussi l'exécution d'une commande
eval() ou de scripts.
Si appelée depuis l'environnement global, l'exécution du script est
interrompue. Si le script courant était inclus avec la structure
include ou
require ,
alors le contrôle est rendu au script appelant. De plus, si le fichier
du script courant a été inclus via l'instruction
include ,
alors la valeur retournée sera utilisée comme résultat de l'instruction
include .
Si return est appelée depuis le script principal,
alors l'exécution du script s'arrête. Si le script courant est
auto_prepend_file
ou
auto_append_file
dans le fichier php.ini, alors l'exécution du script s'arrête.
Pour plus d'informations, voir retourner des valeurs.
Note:
Il est à noter que puisque
returnest une structure de langage, et non une fonction, les parenthèses entourant les arguments ne sont pas nécessaires et leur utilisation est découragée.
Note:
Si aucun paramètre n'est fourni, alors les parenthèses doivent être omises et
nullsera retourné. L'appel dereturnavec des parenthèses mais sans argument résultera en une alerte d'analyse.
À partir de PHP 7.1.0, les déclarations de retour sans argument dans les
fonctions qui déclarent un type de retour déclenchent une E_COMPILE_ERROR ,
sauf si le type de retour est void , auquel cas les déclarations de retour
avec un argument déclenchent cette erreur.
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".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".