Maison > Article > développement back-end > Convertir la chaîne de requête en tableau en php
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 :
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);
Sortie :
Array ( [name] => David [age] => 28 )
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);
Sortie :
Array ( [name] => Array ( [0] => David [1] => John ) [age] => 28 )
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);
Sortie :
Array ( [0] => name=David [1] => age=28 )
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; }
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);
Résultat :
Array ( [name] => David [age] => 28 )
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!