Maison > développement back-end > Problème PHP > Convertir la chaîne de requête en tableau en php

Convertir la chaîne de requête en tableau en php

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2023-05-07 18:03:07
original
654 Les gens l'ont consulté

Présentation

La conversion d'une chaîne de requête en tableau est une opération courante en PHP, généralement utilisée pour traiter les données des formulaires ou des URL. Cette opération peut être réalisée en utilisant des fonctions intégrées ou des fonctions personnalisées. Cet article expliquera comment utiliser les fonctions intégrées de PHP et les fonctions personnalisées pour convertir la chaîne de requête en tableau et explorera son utilisation.

Fonctions intégrées PHP

Utiliser les fonctions intégrées PHP pour convertir la chaîne de requête en tableau est un moyen simple et rapide. PHP fournit deux fonctions intégrées pour convertir la chaîne de requête en tableau : parse_str() et explosive(). Voici comment ils sont utilisés :

  1. parse_str()

parse_str() la fonction convertit la chaîne de requête en tableau et y stocke les paramètres sous forme de paires clé-valeur. Par exemple, le code suivant convertit la chaîne de requête « name=David&age=28 » en tableau :

$queryString = "name=David&age=28";
parse_str($queryString, $array);
print_r($array);
Copier après la connexion

Sortie :

Array
(
    [name] => David
    [age] => 28
)
Copier après la connexion
Copier après la connexion

De plus, si votre chaîne de requête contient un tableau, vous pouvez utiliser le code suivant pour la convertir en tableau multidimensionnel :

$queryString = "name[0]=David&name[1]=John&age=28";
parse_str($queryString, $array);
print_r($array);
Copier après la connexion

Sortie :

Array
(
    [name] => Array
        (
            [0] => David
            [1] => John
        )

    [age] => 28
)
Copier après la connexion
  1. explode()

Une autre façon de convertir la chaîne de requête en tableau consiste à utiliser la fonction éclater(). Cette fonction divise la chaîne de requête en un tableau de chaînes, divisée au niveau du délimiteur spécifié. Voici un exemple de code :

$queryString = "name=David&age=28";
$array = explode("&", $queryString);
print_r($array);
Copier après la connexion

Sortie :

Array
(
    [0] => name=David
    [1] => age=28
)
Copier après la connexion

Puisque le délimiteur est le symbole "&", la chaîne de requête est divisée en deux éléments. Ensuite, vous pouvez à nouveau utiliser la fonction éclater() pour diviser chaque élément en sous-tableaux plus petits.

Fonctions personnalisées

Si vous souhaitez plus de flexibilité dans la gestion de la chaîne de requête, ou si vous souhaitez effectuer un prétraitement sur celle-ci avant de la convertir en tableau, les fonctions personnalisées sont un bon choix. Voici une fonction personnalisée simple pour convertir une chaîne de requête en tableau :

function parseQueryString($queryString) {
    $array = array();
    $pairs = explode("&", $queryString);
    
    foreach ($pairs as $pair) {
        $split = explode("=", $pair);
        $key = urldecode($split[0]);
        $value = urldecode($split[1]);
        
        $array[$key] = $value;
    }
    
    return $array;
}
Copier après la connexion

Cette fonction utilise une logique similaire à la fonction éclater() pour convertir une chaîne de requête en tableau. Mais contrairement à la fonction intégrée, il utilise la fonction urldecode() pour décoder chaque clé et valeur, garantissant ainsi que tous les caractères spéciaux sont convertis dans leur forme originale. Un exemple de code utilisant cette fonction est le suivant :

$queryString = "name=David&age=28";
$array = parseQueryString($queryString);
print_r($array);
Copier après la connexion

Résultat :

Array
(
    [name] => David
    [age] => 28
)
Copier après la connexion
Copier après la connexion

Conclusion

Que vous traitiez des données de formulaire ou extrayiez des paramètres d'une URL, la conversion de la chaîne de requête en tableau est une étape essentielle. PHP fournit des fonctions intégrées pour implémenter facilement cette fonction, tout en vous permettant également de personnaliser la fonction en fonction de vos besoins. La méthode que vous choisissez dépend de vos besoins spécifiques et de vos préférences personnelles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal