Position actuelle: Accueil> Derniers articles> Analyse approfondie de la fonction PARSE_STR en PHP: utilisation et analyse d'exemple

Analyse approfondie de la fonction PARSE_STR en PHP: utilisation et analyse d'exemple

M66 2025-06-30

Utilisation de la fonction PARSE_STR en php

Dans cet article, nous plongerons dans la fonction parse_str en php. Cette fonction est utilisée pour convertir les chaînes de requête dans les demandes GET en variables qui peuvent être utilisées en PHP.

Dans le développement quotidien de PHP, le traitement des chaînes de requête est une exigence courante et les données sont généralement transmises par les demandes de GET aux scripts dans les URL. PHP fournit une variable HyperGlobal $ _get qui stocke tous les paramètres de requête. Cependant, dans certains cas, vous devrez peut-être traiter directement la chaîne de requête d'origine et la convertir en une variable PHP, et la fonction PARSE_STR devient une option pratique.

Cet article présentera en détail comment utiliser la fonction Parse_Str et démontrera ses fonctions puissantes à travers plusieurs exemples pratiques.

Syntaxe de la fonction PARSE_STR

La syntaxe de base de la fonction PARSE_STR est la suivante:

 <span class="fun">PARSE_STR (String $ String, Array & $ Result): void</span>

La fonction PARSE_STR a deux paramètres: le premier paramètre est la chaîne de requête à analyser, et le deuxième paramètre est un tableau qui sera rempli de variables analysées.

Il convient de noter que la fonction PARSE_STR ne renvoie aucune valeur, donc le résultat doit être obtenu via le deuxième paramètre. À partir de PHP 7.2, le deuxième paramètre devient un must. Si le deuxième paramètre n'est pas fourni, PARSE_STR rapportera une erreur.

De plus, la fonction PARSE_STR décode automatiquement les chaînes codées par URL, vous n'avez donc pas besoin d'utiliser manuellement la fonction UrLDEcode.

Exemples de base

Voici un exemple simple montrant comment utiliser la fonction PARSE_STR:

 <?php
$string = 'first_name=John&last_name=Richards&age=30';
parse_str($string, $result);
print_r($result);

Dans cet exemple, la chaîne de requête est analysée dans un tableau PHP avec les touches de tableau étant des noms de variables et la valeur étant la valeur de la chaîne de requête. Le résultat de sortie est le suivant:

 Array
(
    [first_name] => John
    [last_name] => Richards
    [age] => 30
)

Traitement des variables du tableau

Si la chaîne de requête contient des variables de tableau, la fonction PARSE_STR peut également être analysée correctement. Par exemple:

 <?php
$string = 'foo=1&bar[]=1&bar[]=2';
parse_str($string, $result);
print_r($result);

Après l'analyse, la variable de barre sera convertie en un tableau:

 Array
(
    [foo] => 1
    [bar] => Array
    (
        [0] => 1
        [1] => 2
    )
)

Si la syntaxe [] n'est pas utilisée, PARSE_STR la traite comme une variable normale et ne conserve que la dernière valeur.

Gérer les caractères spéciaux

Parfois, le nom de variable dans la chaîne de requête peut contenir des espaces ou des symboles de points. PHP n'autorise pas les espaces ou les points dans des noms de variables, de sorte que la fonction PARSE_STR convertit automatiquement ces caractères en soulignements. Par exemple:

 <?php
$string = 'my name=John&my.email=john@example.com';
parse_str($string, $result);
print_r($result);

Le résultat de sortie est le suivant:

 Array
(
    [my_name] => John
    [my_email] => john@example.com
)

Chaîne de requête codée par URL

La fonction PARSE_STR décode automatiquement les valeurs codées par l'URL, donc aucun traitement supplémentaire n'est requis. Par exemple:

 <?php
$string = 'name=John%20Richards&profile_url=http%3A%2F%2Fexample.com%2Fmyprofile';
parse_str($string, $result);
print_r($result);

Le résultat de la sortie est:

 Array
(
    [name] => John Richards
    [profile_url] => http://example.com/myprofile
)

Résumer

Grâce à cet article, vous devriez avoir une compréhension complète de la fonction Parse_Str dans PHP. Cette fonction est un outil très utile pour gérer les chaînes de requête, surtout lorsque vous devez convertir une chaîne en variable PHP. Espérons que les exemples de cet article peuvent vous aider à mieux appliquer la fonction Parse_Str et à améliorer votre efficacité de développement.