<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = 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 => 'fr',
  ),
  'this' => 
  array (
    0 => 'functions.returning-values.php',
    1 => 'Les valeurs de retour',
    2 => 'Les valeurs de retour',
  ),
  'up' => 
  array (
    0 => 'language.functions.php',
    1 => 'Les fonctions',
  ),
  'prev' => 
  array (
    0 => 'functions.arguments.php',
    1 => 'Param&egrave;tres et arguments de fonction',
  ),
  'next' => 
  array (
    0 => 'functions.variable-functions.php',
    1 => 'Fonctions variables',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'language/functions.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="functions.returning-values" class="sect1">
  <h2 class="title">Les valeurs de retour</h2>
  
  <p class="para">
   Les valeurs sont renvoyées en utilisant une
   instruction de retour optionnelle. Tous les types de variables
   peuvent être renvoyés, tableaux et objets compris. Cela fait
   que la fonction finit son exécution immédiatement et passe
   le contrôle à la ligne appelante. Voir
   <span class="function"><a href="function.return.php" class="function">return</a></span>
   pour plus d&#039;informations.
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    Si <span class="function"><a href="function.return.php" class="function">return</a></span>
    est omis, la valeur <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> sera retournée.
   </p>
  </p></blockquote>
  
  <div class="sect2">
   <h3 class="title">Utilisation de return</h3>
   <p class="para">
    <div class="example" id="example-1">
     <p><strong>Exemple #1 Utilisation de <span class="function"><a href="function.return.php" class="function">return</a></span></strong></p>
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">carre</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">carre</span><span style="color: #007700">(</span><span style="color: #0000BB">4</span><span style="color: #007700">); </span><span style="color: #FF8000">// Affiche '16'<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
   </p>
   
   <p class="para">
    Une fonction ne peut pas renvoyer plusieurs valeurs en même temps, mais
    il est possible d&#039;obtenir le même résultat en renvoyant un tableau.
   </p>
   <p class="para">
    <div class="example" id="example-2">
     <p><strong>Exemple #2 Retourner un tableau d&#039;une fonction</strong></p>
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">petit_nombre</span><span style="color: #007700">()<br />{<br />    return [</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 /></span><span style="color: #FF8000">// La déconstruction d'un tableau collectera chaque membre du tableau individuellement<br /></span><span style="color: #007700">[</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">petit_nombre</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">// Avant PHP 7.1, la seule alternative équivalente est en utilisant la structure de langage list()<br /></span><span style="color: #007700">list (</span><span style="color: #0000BB">$zero</span><span style="color: #007700">, </span><span style="color: #0000BB">$un</span><span style="color: #007700">, </span><span style="color: #0000BB">$deux</span><span style="color: #007700">) = </span><span style="color: #0000BB">petit_nombre</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
   </p>
   <p class="para">
    Pour retourner une référence d&#039;une fonction, il faut utiliser
    l&#039;opérateur &amp; aussi bien dans la déclaration de la fonction que dans
    l&#039;assignation de la valeur de retour.
   </p>
   <p class="para">
    <div class="example" id="example-3">
     <p><strong>Exemple #3 Retourner une référence d&#039;une fonction</strong></p>
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">function &amp;</span><span style="color: #0000BB">retourne_reference</span><span style="color: #007700">()<br />{<br />    return </span><span style="color: #0000BB">$uneref</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">$newref </span><span style="color: #007700">=&amp; </span><span style="color: #0000BB">retourne_reference</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
   </p>
   <p class="simpara">
    Pour plus d&#039;informations sur les références, se référer à <a href="language.references.php" class="link">l&#039;explication sur les références</a>.
   </p>
  </div>
 </div><?php manual_footer($setup); ?>