<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/language.types.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'language.types.void.php',
    1 => 'Void',
    2 => 'Void',
  ),
  'up' => 
  array (
    0 => 'language.types.php',
    1 => 'Les types',
  ),
  'prev' => 
  array (
    0 => 'language.types.mixed.php',
    1 => 'Mixed',
  ),
  'next' => 
  array (
    0 => 'language.types.never.php',
    1 => 'Never',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'language/types/void.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="language.types.void" class="sect1">
 <h2 class="title">Void</h2>

 <p class="para">
  <span class="type"><span class="type"><a href="language.types.void.php" class="type void">void</a></span></span> est une déclaration de type de retour uniquement, indiquant que la fonction
  ne retourne pas de valeur, mais que la fonction peut quand même se terminer.
  Il ne peut donc pas faire partie d&#039;une déclaration de
  <a href="language.types.type-system.php#language.types.type-system.composite.union" class="link">type d&#039;union</a>.
  Disponible à partir de PHP 7.1.0.
 </p>

 <blockquote class="note"><p><strong class="note">Note</strong>: 
  <span class="simpara">
   Même si une fonction a un type de retour <span class="type"><span class="type"><a href="language.types.void.php" class="type void">void</a></span></span>, elle
   retournera toujours une valeur, cette valeur est toujours <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong>.
  </span>
 </p></blockquote>

 <div class="sect2" id="language.types.void.casting">
  <h3 class="title">Ignorer une valeur avec <code class="literal">(void)</code></h3>

  <p class="simpara">
   La syntaxe <code class="literal">(void)</code> peut être utilisée pour ignorer
   explicitement le résultat d&#039;une expression. Cela permet d&#039;indiquer que
   l&#039;omission d&#039;une valeur de retour est intentionnelle, en particulier
   lors de l&#039;appel d&#039;une fonction ou méthode marquée avec l&#039;attribut
   <span class="classname"><a href="class.nodiscard.php" class="classname">NoDiscard</a></span>.
  </p>

  <p class="simpara">
   Contrairement aux autres casts, <code class="literal">(void)</code> ne convertit pas
   la valeur en un autre type et ne produit pas de valeur. Il s&#039;agit d&#039;une
   instruction et il ne peut pas être utilisé en tant que partie d&#039;une expression.
  </p>

  <div class="example" id="example-1">
   <p><strong>Exemple #1 Ignorer une valeur de retour</strong></p>
   <div class="example-contents">
    <div class="annotation-non-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">#[</span><span style="color: #0000BB">\NoDiscard</span><span style="color: #007700">]<br />function </span><span style="color: #0000BB">process</span><span style="color: #007700">(): </span><span style="color: #0000BB">bool </span><span style="color: #007700">{<br />    return </span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />}<br /><br />(</span><span style="color: #0000BB">void</span><span style="color: #007700">) </span><span style="color: #0000BB">process</span><span style="color: #007700">(); </span><span style="color: #FF8000">// Ignore explicitement la valeur de retour<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
 </div>
</div><?php manual_footer($setup); ?>