1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 288721 $ -->
<sect1 xml:id="function.return" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>return</title>
<simpara>
If called from within a function, the <function>return</function>
statement immediately ends execution of the current function, and
returns its argument as the value of the function
call. <function>return</function> will also end the execution of
an <function>eval</function> statement or script file.
</simpara>
<simpara>
If called from the global scope, then execution of the current
script file is ended. If the current script file was
<function>include</function>ed or <function>require</function>ed,
then control is passed back to the calling file. Furthermore, if
the current script file was <function>include</function>ed, then
the value given to <function>return</function> will be returned as
the value of the <function>include</function> call. If
<function>return</function> is called from within the main script
file, then script execution ends. If the current script file was
named by the <link
linkend="ini.auto-prepend-file">auto_prepend_file</link> or <link
linkend="ini.auto-append-file">auto_append_file</link>
configuration options in &php.ini;,
then that script file's execution is ended.
</simpara>
<simpara>For more information, see <link
linkend="functions.returning-values">Returning values</link>.
</simpara>
<para>
<note>
<simpara>
Note that since <function>return</function> is a language
construct and not a function, the parentheses surrounding its
arguments are not required. It is common to leave them out, and you
actually should do so as PHP has less work to do in this case.
</simpara>
</note>
<note>
<simpara>
If no parameter is supplied, then the parentheses must be omitted
and <literal>NULL</literal> will be
returned. Calling <function>return</function> with parentheses but
with no arguments will result in a parse error.
</simpara>
</note>
<note>
<simpara>
You should <emphasis>never</emphasis> 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 <literal>return ($a);</literal> then you're not returning a
variable, but the result of the expression <literal>($a)</literal>
(which is, of course, the value of <varname>$a</varname>).
</simpara>
</note>
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|