If called from within a function, the return()
statement immediately ends execution of the current function, and
returns its argument as the value of the function
call. return() will also end the execution of
an eval() statement or script file.
If called from the global scope, then execution of the current
script file is ended. If the current script file was
include()ed or require()ed,
then control is passed back to the calling file. Furthermore, if
the current script file was include()ed, then
the value given to return() will be returned as
the value of the include() call. If
return() is called from within the main script
file, then script execution ends. If the current script file was
named by the auto_prepend_file or auto_append_file
configuration options in php.ini,
then that script file's execution is ended.
Замечание:
Note that since return() is a language
construct and not a function, the parentheses surrounding its
arguments are only required if the argument
contains an expression. It is common to leave them out while returning a
variable, and you actually should as PHP has less work to do in this
case.
Замечание:
You should never use parentheses around your return
variable when returning by reference, as this will not work. You can
only return variables by reference, not the result of a statement. If
you use return ($a); then you're not returning a
variable, but the result of the expression ($a)
(which is, of course, the value of $a).
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.
If you return a value that has not been set, or has been unset, the function will return that status instead. So,
<?php
$var1 = 1;
function unsetVar($var) {
unset($var);
return $var;
} $var1 = unsetVar($var1); // this will unset $var1 ?>
This is useful in situations where we want to conditionally proceed based on the output of a function; for example,
if (isset($fileListAsArray = functionGettingFileList())) {
// our list exists, do whatever
} else . . . // report error
Use "exit()" to end all script execution for the current request. For HTTP requests, the response generated to that point will then be sent to the browser.