Discussion:
Fonctionnement de la commande return.
(trop ancien pour répondre)
Florence
2006-12-17 20:56:12 UTC
Permalink
Bonsoir à tous,

Je suis débutante en PHP et je me pose une petite question. Dans un script
PHP, j'ai trouvé ces lignes de commandes.

if($fp)
$this->connected = true;
else
{
$this->connected = false;
return false;
}

Donc, nous avons ici une condition (pour ça pas de problème) mais un doute
subsiste.

Dans le manuel de PHP, j'ai lu que la commande return arrête l'exécution
d'un script. Mais dans les exemples ils utilisent la commande return seule.
Alors pourquoi dans ce script utiliser return false ?

Si on avait utilisé la commande return seule cela aurait il changé quelque
chose dans l'exécution du script ou pas ?

Merci pour vos réponses.
Olivier Miakinen
2006-12-17 21:32:41 UTC
Permalink
Post by Florence
[...]
return false;
[...]
Dans le manuel de PHP, j'ai lu que la commande return arrête l'exécution
d'un script. Mais dans les exemples ils utilisent la commande return seule.
Alors pourquoi dans ce script utiliser return false ?
Puisque tu as lu le manuel, par exemple <http://fr2.php.net/return>, je
suppose donc que tu as vu que la fonction return() n'arrête l'exécution
du script *que* si ce n'est pas dans une fonction, et que lorsque un
script en inclut un autre cela n'arrête que le script appelé, la valeur
étant retournée à l'appelant.
Post by Florence
Si on avait utilisé la commande return seule cela aurait il changé quelque
chose dans l'exécution du script ou pas ?
En dehors des cas cités plus haut, cela ne change rien pour l'exécution
du script. Note quand même que PHP peut être utilisé pour autre chose
que pour des requêtes web, par exemple en ligne de commande, et dans ce
cas aussi la valeur de retour peut être lue et utilisée par l'appelant.
Florian Sinatra
2006-12-17 21:32:41 UTC
Permalink
Post by Florence
Bonsoir à tous,
bonsoir,
Post by Florence
Dans le manuel de PHP, j'ai lu que la commande return arrête l'exécution
d'un script. Mais dans les exemples ils utilisent la commande return seule.
Alors pourquoi dans ce script utiliser return false ?
Tu n'as pas assez lu le manuel alors :
« 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 de commande eval() ou de scripts.

Si appelée depuis l'environnement global, l'exécution du script est
interrompue. Si le script courant était include() ou require(), alors le
contrôle est rendu au script appelant, et la valeur retournée sera
utilisée comme résultat de la fonction include(). Si return() est
appelée depuis le script principal, alors l'exécution du script
s'arrête. » <http://ch2.php.net/manual/fr/function.return.php>

Lis aussi <http://ch2.php.net/manual/fr/functions.returning-values.php>
Post by Florence
Si on avait utilisé la commande return seule cela aurait il changé quelque
chose dans l'exécution du script ou pas ?
L'expression qui appelait la fonction n'aurait pas reçu false en retour.
Elle n'aurait donc pas eu connaissance du résultat du test.

Continuer la lecture sur narkive:
Loading...