Maison > développement back-end > Problème PHP > Comment convertir entre des tableaux et des chaînes de paramètres d'URL en php

Comment convertir entre des tableaux et des chaînes de paramètres d'URL en php

PHPz
Libérer: 2023-04-19 13:54:00
original
1068 Les gens l'ont consulté

Dans le développement Web, nous avons souvent besoin de convertir des tableaux en chaînes de paramètres d'URL pour le transfert de données entre les pages ou le transfert de paramètres dans les requêtes d'interface API. En PHP, nous pouvons convertir entre des tableaux et des chaînes de paramètres d'URL grâce à certaines fonctions intégrées. Ensuite, je présenterai quelques méthodes courantes pour réaliser cette fonction.

1. Convertir un tableau en chaîne de paramètres d'URL

  1. Fonction http_build_query()

La fonction http_build_query() peut convertir un tableau en chaîne de paramètres d'URL. La syntaxe de cette fonction est la suivante :

string http_build_query ( mixed $query_data , string $numeric_prefix = "" , string $arg_separator = "" , int $enc_type = PHP_QUERY_RFC1738 )
Copier après la connexion

Parmi eux, le paramètre query_data est un tableau associatif ou un tableau d'index numérique contenant les données à convertir, et le paramètre numeric_prefix est le préfixe de chaîne facultatif requis pour le tableau d'index numérique. par défaut est une chaîne vide, arg_separator Le paramètre est un séparateur de paramètre facultatif, la valeur par défaut est "&", le paramètre enc_type est un format de chaîne facultatif, la valeur par défaut est PHP_QUERY_RFC1738.

Exemple de code :

<?php
$data = array(
   &#39;user&#39; => 'admin',
   'email' => 'admin@example.com',
   'age' => 18
);
$query_string = http_build_query($data);
echo $query_string;
?>
Copier après la connexion

Le résultat de sortie est :

user=admin&email=admin%40example.com&age=18
Copier après la connexion
  1. Séparateur et préfixe de paramètres personnalisés

Exemple de code :

<?php
$data = array(
   &#39;user&#39; => 'admin',
   'email' => 'admin@example.com',
   'age' => 18
);
$query_string = http_build_query($data, 'id_', '|');
echo $query_string;
?>
Copier après la connexion

Le résultat de sortie est :

id_user=admin|id_email=admin%40example.com|id_age=18
Copier après la connexion
  1. fonction urlencode()

urlencode() La fonction peut encoder les chaînes de paramètres d'URL et échapper aux caractères spéciaux. Exemple de code :

<?php
$data = array(
   &#39;user&#39; => 'admin',
   'email' => 'admin@example.com',
   'age' => 18
);
$query_string = http_build_query($data);
$query_string = urlencode($query_string);
echo $query_string;
?>
Copier après la connexion

Le résultat de sortie est :

user%3Dadmin%26email%3Dadmin%2540example.com%26age%3D18
Copier après la connexion

2. Convertissez la chaîne de paramètre d'URL en un tableau

  1. Fonction parse_str()

La fonction parse_str() peut analyser la chaîne de paramètre d'URL en un tableau associatif. Exemple de code :

Copier après la connexion

Le résultat de sortie est :

Array
(
    [user] => admin
    [email] => admin@example.com
    [age] => 18
)
Copier après la connexion
Copier après la connexion
  1. Utilisez la fonction éclater() pour analyser manuellement

Si vous n'utilisez pas la fonction http_build_query() pour générer la chaîne de paramètres d'URL, vous pouvez également utiliser l'explosion () pour l'analyser manuellement. Exemple de code :

Copier après la connexion

Le résultat de sortie est :

Array
(
    [user] => admin
    [email] => admin@example.com
    [age] => 18
)
Copier après la connexion
Copier après la connexion

3. Résumé

Ce qui précède est la méthode de conversion d'un tableau PHP en chaîne de paramètres d'URL et de conversion d'une chaîne de paramètres d'URL en tableau. Dans le développement réel, nous pouvons utiliser ces méthodes de manière flexible pour réaliser le transfert de données et le transfert de paramètres dans les requêtes d'interface API.

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