Source of: /manual/en/functions.returning-values.php
<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/language.functions.inc";
$setup = array (
'home' =>
array (
0 => 'index.php',
1 => 'PHP Manual',
),
'head' =>
array (
0 => 'UTF-8',
1 => 'en',
),
'this' =>
array (
0 => 'functions.returning-values.php',
1 => 'Returning values',
),
'up' =>
array (
0 => 'language.functions.php',
1 => 'Functions',
),
'prev' =>
array (
0 => 'functions.arguments.php',
1 => 'Function arguments',
),
'next' =>
array (
0 => 'functions.variable-functions.php',
1 => 'Variable functions',
),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);
manual_header();
?>
<div id="functions.returning-values" class="sect1">
<h2 class="title">Returning values</h2>
<p class="para">
Values are returned by using the optional return statement. Any
type may be returned, including arrays and objects. This causes the
function to end its execution immediately and pass control back to
the line from which it was called. See <a href="function.return.php" class="function">return()</a>
for more information.
</p>
<p class="para">
</p><div class="example">
<p><b>Example #1 Use of <a href="function.return.php" class="function">return()</a></b></p>
<div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">square</span><span style="color: #007700">(</span><span style="color: #0000BB">$num</span><span style="color: #007700">)<br />{<br /> return </span><span style="color: #0000BB">$num </span><span style="color: #007700">* </span><span style="color: #0000BB">$num</span><span style="color: #007700">;<br />}<br />echo </span><span style="color: #0000BB">square</span><span style="color: #007700">(</span><span style="color: #0000BB">4</span><span style="color: #007700">); </span><span style="color: #FF8000">// outputs '16'.<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
</div><p>
</p>
<p class="para">
A function can not return multiple values, but similar results can be
obtained by returning an array.
</p>
<p class="para">
</p><div class="example">
<p><b>Example #2 Returning an array to get multiple values</b></p>
<div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">small_numbers</span><span style="color: #007700">()<br />{<br /> return array (</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">2</span><span style="color: #007700">);<br />}<br />list (</span><span style="color: #0000BB">$zero</span><span style="color: #007700">, </span><span style="color: #0000BB">$one</span><span style="color: #007700">, </span><span style="color: #0000BB">$two</span><span style="color: #007700">) = </span><span style="color: #0000BB">small_numbers</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
</div><p>
</p>
<p class="para">
To return a reference from a function, use the reference operator & in
both the function declaration and when assigning the returned value to a
variable:
</p>
<p class="para">
</p><div class="example">
<p><b>Example #3 Returning a reference from a function</b></p>
<div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function &</span><span style="color: #0000BB">returns_reference</span><span style="color: #007700">()<br />{<br /> return </span><span style="color: #0000BB">$someref</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">$newref </span><span style="color: #007700">=& </span><span style="color: #0000BB">returns_reference</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
</div><p>
</p>
<p class="simpara">
For more information on references, please check out <a href="language.references.php" class="link">References Explained</a>.
</p>
</div><?php manual_footer(); ?>