Maison > développement back-end > tutoriel php > Comment puis-je transmettre efficacement des tableaux en tant que paramètres d'URL en PHP ?

Comment puis-je transmettre efficacement des tableaux en tant que paramètres d'URL en PHP ?

Susan Sarandon
Libérer: 2024-12-14 15:24:15
original
942 Les gens l'ont consulté

How Can I Efficiently Pass Arrays as URL Parameters in PHP?

Passer des tableaux en tant que paramètres d'URL

Souvent, il existe des situations où vous devez transmettre un tableau à un script via un paramètre d'URL. Il existe différentes approches pour résoudre ce problème, chacune avec ses propres avantages et inconvénients.

Approches naïves

Tenter de transmettre un tableau en tant que paramètre d'URL sans aucun traitement peut conduire à des résultats désordonnés. La concaténation des valeurs en une seule chaîne entraîne un paramètre peu maniable :

$url = 'http://www.example.com?aParam[]=value1&aParam[]=value2&aParam[]=value3';
Copier après la connexion

La fonction http_build_query()

Heureusement, PHP fournit une solution pratique : la http_build_query( ) fonction. Il prend un tableau associatif en entrée et renvoie une chaîne de requête codée en URL.

$data = array(
    1,
    4,
    'a' => 'b',
    'c' => 'd'
);

$query = http_build_query(array('aParam' => $data));
Copier après la connexion

Cela produira la chaîne de requête suivante :

aParam%5B0%5D=1&aParam%5B1%5D=4&aParam%5Ba%5D=b&aParam%5Bc%5D=d
Copier après la connexion

Remarquez comment la fonction gère automatiquement les éléments nécessaires s'échapper ([ => [ et ] => ]). Cela garantit que la chaîne de requête est correctement formée.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal