<?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.parse-str.php',
    1 => 'parse_str',
    2 => 'Analyse une cha&icirc;ne de caract&egrave;res comme une cha&icirc;ne de requ&ecirc;te URL',
  ),
  'up' => 
  array (
    0 => 'ref.strings.php',
    1 => 'Fonctions sur les cha&icirc;nes de caract&egrave;res',
  ),
  'prev' => 
  array (
    0 => 'function.ord.php',
    1 => 'ord',
  ),
  'next' => 
  array (
    0 => 'function.print.php',
    1 => 'print',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/strings/functions/parse-str.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.parse-str" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">parse_str</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">parse_str</span> &mdash; <span class="dc-title">Analyse une chaîne de caractères comme une chaîne de requête URL</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.parse-str-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>parse_str</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.array.php" class="type array">array</a></span> <code class="parameter reference">&$result</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>

  <p class="para rdfs-comment">
   Analyse la chaîne de caractères <code class="parameter">string</code> comme s&#039;il
   s&#039;agissait des paramètres passés via l&#039;URL. Toutes les variables
   qu&#039;elle y repère sont alors créées, avec leurs valeurs respectives (ou
   dans le tableau si <code class="parameter">result</code> est fourni).
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.parse-str-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 d&#039;entrée.
      </p>
     </dd>
    
    
     <dt><code class="parameter">result</code></dt>
     <dd>
      <p class="para">
       Une variable passée par référence, qui sera définie comme un tableau
       contenant les paires clé-valeur extraites de <code class="parameter">string</code>.
       Si le paramètre <code class="parameter">result</code> n&#039;est pas passé,
       une variable séparée est définie dans la portée locale pour chaque clé.
      </p>
      <div class="warning"><strong class="warning">Avertissement</strong>
       <p class="para">
        L&#039;utilisation de cette fonction sans le paramètre <code class="parameter">result</code> 
        est très fortement <em>découragé</em> et <em>déconseillé</em> 
        à partir de PHP 7.2.
        À partir de PHP 8.0.0, le paramètre <code class="parameter">result</code> est <em>obligatoire</em>.
       </p>
      </div>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.parse-str-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="para">
   Aucune valeur n&#039;est retournée.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.parse-str-changelog">
  <h3 class="title">Historique</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Version</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
     <tr>
      <td>8.0.0</td>
      <td>
       <code class="parameter">result</code> n&#039;est plus optionnel.
      </td>
     </tr>

      <tr>
       <td>7.2.0</td>
       <td>
        L&#039;utilisation de <span class="function"><strong>parse_str()</strong></span> sans le second argument 
        émet une note <strong><code><a href="errorfunc.constants.php#constant.e-deprecated">E_DEPRECATED</a></code></strong>.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.parse-str-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>parse_str()</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 />$str </span><span style="color: #007700">= </span><span style="color: #DD0000">"first=value&amp;arr[]=foo+bar&amp;arr[]=baz"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Recommandé<br /></span><span style="color: #0000BB">parse_str</span><span style="color: #007700">(</span><span style="color: #0000BB">$str</span><span style="color: #007700">, </span><span style="color: #0000BB">$output</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$output</span><span style="color: #007700">[</span><span style="color: #DD0000">'first'</span><span style="color: #007700">], </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;  </span><span style="color: #FF8000">// value<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">$output</span><span style="color: #007700">[</span><span style="color: #DD0000">'arr'</span><span style="color: #007700">][</span><span style="color: #0000BB">0</span><span style="color: #007700">], </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">; </span><span style="color: #FF8000">// foo bar<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">$output</span><span style="color: #007700">[</span><span style="color: #DD0000">'arr'</span><span style="color: #007700">][</span><span style="color: #0000BB">1</span><span style="color: #007700">], </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">; </span><span style="color: #FF8000">// baz<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">   
   N&#039;importe quel espace ou point dans les noms de paramètres est converti en tiret bas
   lors de la création de clés de tableau ou de variables locales.
   Ceci est dû au fait que les noms de variables en PHP ne peuvent pas contenir d&#039;espaces
   ou de points, mais cela s&#039;applique même lors de l&#039;utilisation de
   cette fonction avec le paramètre <code class="parameter">result</code> .
   <div class="example" id="example-2">
    <p><strong>Exemple #2 Déformation des noms par <span class="function"><strong>parse_str()</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 />parse_str</span><span style="color: #007700">(</span><span style="color: #DD0000">"My Value=Something"</span><span style="color: #007700">, </span><span style="color: #0000BB">$output</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$output</span><span style="color: #007700">[</span><span style="color: #DD0000">'My_Value'</span><span style="color: #007700">]; </span><span style="color: #FF8000">// Something<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

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

  <div class="refsect1 notes" id="refsect1-function.parse-str-notes">
  <h3 class="title">Notes</h3>

   <blockquote class="note"><p><strong class="note">Note</strong>: 
    <p class="para">
     La fonction <span class="function"><strong>parse_str()</strong></span> est affectée par la directive
     <a href="info.configuration.php#ini.max-input-vars" class="link">max_input_vars</a>.
     Dépasser cette limite déclenche un avertissement <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong>,
     et toute variable au-delà de cette limite n&#039;est pas ajoutée au tableau de résultat.
     La valeur par défaut est 1000 ; ajustez <a href="info.configuration.php#ini.max-input-vars" class="link">max_input_vars</a>
     selon les besoins.
    </p>
   </p></blockquote>

   <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    Toutes les valeurs ajoutées dans le tableau <code class="parameter">result</code>
    (ou les variables créées si le second paramètre n&#039;est pas défini)
    sont déjà décodées avec les mêmes règles que <span class="function"><a href="function.urldecode.php" class="function">urldecode()</a></span>.
   </p>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    Pour obtenir la chaîne de requête de la requête actuelle, il est possible d&#039;utiliser
    la variable <var class="varname"><a href="reserved.variables.server.php" class="classname">$_SERVER['QUERY_STRING']</a></var>. En outre, l&#039;on voudra 
    peut-être lire la section sur les 
    <a href="language.variables.external.php" class="link"> variables de sources externes</a>.
   </p>
  </p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.parse-str-seealso">
  <h3 class="title">Voir aussi</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.parse-url.php" class="function" rel="rdfs-seeAlso">parse_url()</a> - Analyse une URL et retourne ses composants</span></li>
    <li><span class="function"><a href="function.pathinfo.php" class="function" rel="rdfs-seeAlso">pathinfo()</a> - Retourne des informations sur un chemin syst&egrave;me</span></li>
    <li><span class="function"><a href="function.http-build-query.php" class="function" rel="rdfs-seeAlso">http_build_query()</a> - G&eacute;n&egrave;re une cha&icirc;ne de requ&ecirc;te en encodage URL</span></li>
    <li><span class="function"><a href="function.urldecode.php" class="function" rel="rdfs-seeAlso">urldecode()</a> - D&eacute;code une cha&icirc;ne encod&eacute;e URL</span></li>
   </ul>
  </p>
 </div>


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