<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.strings.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'function.sscanf.php',
    1 => 'sscanf',
    2 => 'Analyse une cha&icirc;ne &agrave; l\'aide d\'un format',
  ),
  'up' => 
  array (
    0 => 'ref.strings.php',
    1 => 'Fonctions sur les cha&icirc;nes de caract&egrave;res',
  ),
  'prev' => 
  array (
    0 => 'function.sprintf.php',
    1 => 'sprintf',
  ),
  'next' => 
  array (
    0 => 'function.str-contains.php',
    1 => 'str_contains',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/strings/functions/sscanf.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.sscanf" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">sscanf</h1>
  <p class="verinfo">(PHP 4 &gt;= 4.0.1, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">sscanf</span> &mdash; <span class="dc-title">Analyse une chaîne à l&#039;aide d&#039;un format</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.sscanf-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>sscanf</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$string</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$format</code></span>, <span class="methodparam"><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter reference">&...$vars</code></span>): <span class="type"><span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>|<span class="type"><a href="language.types.null.php" class="type null">null</a></span></span></div>

  <p class="para rdfs-comment">
   <span class="function"><strong>sscanf()</strong></span> est l&#039;inverse de la fonction
   <span class="function"><a href="function.printf.php" class="function">printf()</a></span>. <span class="function"><strong>sscanf()</strong></span> lit
   des données dans la chaîne <code class="parameter">string</code>, et
   l&#039;interprète en fonction du format <code class="parameter">format</code>.
  </p>
  <p class="para">
   Tous les caractères blancs dans la chaîne <code class="parameter">format</code> correspondent
   à un caractère blanc dans la chaîne <code class="parameter">string</code>. Cela signifie que
   même une tabulation (<code class="literal">\t</code>) dans la chaîne de format peut correspondre à
   un simple espace dans la chaîne <code class="parameter">string</code>.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.sscanf-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">string</code></dt>
     <dd>
      <p class="para">
       La chaîne à analyser.
      </p>
     </dd>
    
    

     <dt><code class="parameter">format</code></dt>
     <dd>
      <p class="para">
       Le format interprété pour <code class="parameter">string</code> décrit
       dans la documentation de la <span class="function"><a href="function.sprintf.php" class="function">sprintf()</a></span> avec les différences suivantes :
       <ul class="simplelist">
        <li>
         La fonction ne tient pas compte du contexte local.
        </li>
        <li>
         <code class="literal">F</code>, <code class="literal">g</code>, <code class="literal">G</code> et
         <code class="literal">b</code> ne sont pas supportés.
        </li>
        <li>
         <code class="literal">D</code> représente un nombre décimal.
        </li>
        <li>
         <code class="literal">i</code> représente un nombre entier avec détection de base.
        </li>
        <li>
         <code class="literal">n</code> représente le nombre de caractères traités à ce stade.
        </li>
        <li>
         <code class="literal">s</code> arrête la lecture à chaque caractère d'espacement.
        </li>
        <li>
         <code class="literal">*</code> au lieu de <code class="literal">argnum$</code> supprime
         l'affectation de cette spécification de conversion.
        </li>
       </ul>
      </p>
     </dd>
    

    
     <dt><code class="parameter">vars</code></dt>
     <dd>
      <p class="para">
       Optionnellement, il est possible de passer des variables dans ce paramètre,
       par référence qui contiendront les valeurs de l&#039;analyse.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>

 
 <div class="refsect1 returnvalues" id="refsect1-function.sscanf-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="para">
   Si seulement deux paramètres sont fournis, les valeurs trouvées
   seront retournées sous forme de tableau. Sinon, si le paramètre
   optionnels sont fournis, la fonction retournera le nombre de
   valeurs assignées. Le paramètre optionnel doit être passé par
   référence.
  </p>
  <p class="para">
   S&#039;il y a plus de sous-chaînes attendues dans le paramètre
   <code class="parameter">format</code>, qu&#039;il y a de disponibles dans
   <code class="parameter">string</code>, alors <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> sera retourné.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.sscanf-examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemple #1 Exemple avec <span class="function"><strong>sscanf()</strong></span></strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// Lecture d'un numéro de série<br /></span><span style="color: #007700">list(</span><span style="color: #0000BB">$serial</span><span style="color: #007700">) = </span><span style="color: #0000BB">sscanf</span><span style="color: #007700">(</span><span style="color: #DD0000">"SN/2350001"</span><span style="color: #007700">, </span><span style="color: #DD0000">"SN/%d"</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">// et la date de fabrication<br /></span><span style="color: #0000BB">$mandate </span><span style="color: #007700">= </span><span style="color: #DD0000">"January 01 2000"</span><span style="color: #007700">;<br />list(</span><span style="color: #0000BB">$month</span><span style="color: #007700">, </span><span style="color: #0000BB">$day</span><span style="color: #007700">, </span><span style="color: #0000BB">$year</span><span style="color: #007700">) = </span><span style="color: #0000BB">sscanf</span><span style="color: #007700">(</span><span style="color: #0000BB">$mandate</span><span style="color: #007700">, </span><span style="color: #DD0000">"%s %d %d"</span><span style="color: #007700">);<br />echo </span><span style="color: #DD0000">"Le produit </span><span style="color: #0000BB">$serial</span><span style="color: #DD0000"> a été fabriqué le : </span><span style="color: #0000BB">$year</span><span style="color: #DD0000">-" </span><span style="color: #007700">. </span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$month</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">3</span><span style="color: #007700">) . </span><span style="color: #DD0000">"-</span><span style="color: #0000BB">$day</span><span style="color: #DD0000">\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   Si des paramètres optionnels sont passés, <span class="function"><strong>sscanf()</strong></span> retournera
   le nombre de valeurs assignées.
  </p>
  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Exemple #2 <span class="function"><strong>sscanf()</strong></span> - utilisation des paramètres optionnels</strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// lit les informations d'auteur, et génère une entrée DocBook<br /></span><span style="color: #0000BB">$auth </span><span style="color: #007700">= </span><span style="color: #DD0000">"24\tLewis Carroll"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$n </span><span style="color: #007700">= </span><span style="color: #0000BB">sscanf</span><span style="color: #007700">(</span><span style="color: #0000BB">$auth</span><span style="color: #007700">, </span><span style="color: #DD0000">"%d\t%s %s"</span><span style="color: #007700">, </span><span style="color: #0000BB">$id</span><span style="color: #007700">, </span><span style="color: #0000BB">$first</span><span style="color: #007700">, </span><span style="color: #0000BB">$last</span><span style="color: #007700">);<br />echo </span><span style="color: #DD0000">"&lt;author id='</span><span style="color: #0000BB">$id</span><span style="color: #DD0000">'&gt;<br />    &lt;firstname&gt;</span><span style="color: #0000BB">$first</span><span style="color: #DD0000">&lt;/firstname&gt;<br />    &lt;surname&gt;</span><span style="color: #0000BB">$last</span><span style="color: #DD0000">&lt;/surname&gt;<br />&lt;/author&gt;\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.sscanf-seealso">
  <h3 class="title">Voir aussi</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.printf.php" class="function" rel="rdfs-seeAlso">printf()</a> - Affiche une cha&icirc;ne de caract&egrave;res format&eacute;e</span></li>
    <li><span class="function"><a href="function.sprintf.php" class="function" rel="rdfs-seeAlso">sprintf()</a> - Retourne une cha&icirc;ne format&eacute;e</span></li>
    <li><span class="function"><a href="function.fprintf.php" class="function" rel="rdfs-seeAlso">fprintf()</a> - &Eacute;crit une cha&icirc;ne format&eacute;e dans un flux</span></li>
    <li><span class="function"><a href="function.vprintf.php" class="function" rel="rdfs-seeAlso">vprintf()</a> - Affiche une cha&icirc;ne format&eacute;e</span></li>
    <li><span class="function"><a href="function.vsprintf.php" class="function" rel="rdfs-seeAlso">vsprintf()</a> - Retourne une cha&icirc;ne format&eacute;e</span></li>
    <li><span class="function"><a href="function.vfprintf.php" class="function" rel="rdfs-seeAlso">vfprintf()</a> - &Eacute;crit une cha&icirc;ne format&eacute;e dans un flux</span></li>
    <li><span class="function"><a href="function.fscanf.php" class="function" rel="rdfs-seeAlso">fscanf()</a> - Analyse un fichier en fonction d'un format</span></li>
    <li><span class="function"><a href="function.number-format.php" class="function" rel="rdfs-seeAlso">number_format()</a> - Formate un nombre pour l'affichage</span></li>
    <li><span class="function"><a href="function.date.php" class="function" rel="rdfs-seeAlso">date()</a> - Formate un horodatage Unix</span></li>
   </ul>
  </p>
 </div>


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