array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'fr', ), 'this' => array ( 0 => 'function.parse-str.php', 1 => 'parse_str', ), 'up' => array ( 0 => 'ref.strings.php', 1 => 'Fonctions sur les chaînes de caractè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', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
parse_str — Analyse une chaîne de caractères d'une variable
Analyse la chaîne de caractères string
comme s'il
s'agissait des paramètres passés via l'URL. Toutes les variables
qu'elle y repère sont alors créées, avec leurs valeurs respectives (ou
dans le tableau si result
est fourni).
string
La chaîne d'entrée.
result
Si le second paramètre result
est fourni,
les variables y seront stockées, sous forme d'un tableau indexé.
L'utilisation de cette fonction sans le paramètre result
est trés fortement découragé et déconseillé
à partir de PHP 7.2.
À partir de PHP 8.0.0, le paramètre result
est obligatoire.
Aucune valeur n'est retournée.
Version | Description |
---|---|
8.0.0 |
result n'est plus optionnel.
|
7.2.0 |
L'utilisation de parse_str() sans le second argument
émet une note E_DEPRECATED .
|
Exemple #1 Exemple avec parse_str()
<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
// Recommandé
parse_str($str, $output);
echo $output['first']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
// Déconseillé
parse_str($str);
echo $first; // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
?>
Parce que les variables en PHP ne peuvent pas avoir des points et des
espaces dans leurs noms, ceux-ci sont convertis en soulignements. La même
chose s'applique à la dénomination des noms de clés respectifs en cas d'utilisation
de cette fonction avec le paramètre de result
.
Exemple #2 Déformation des nom par parse_str()
<?php
parse_str("My Value=Something");
echo $My_Value; // Something
parse_str("My Value=Something", $output);
echo $output['My_Value']; // Something
?>
Note:
Toutes les variables créées (ou les valeurs retournées dans le tableau si le second paramètre est défini) sont déjà urldecode().
Note:
Pour obtenir le
QUERY_STRING
actuel, vous pouvez utiliser la variable $_SERVER['QUERY_STRING']. En outre, vous voudrez peut-être lire la section sur les variables de sources externes.