Maison > développement back-end > Problème PHP > Comment convertir les paramètres de requête du tableau php

Comment convertir les paramètres de requête du tableau php

PHPz
Libérer: 2023-04-19 09:25:21
original
689 Les gens l'ont consulté

Dans le développement PHP, nous avons souvent besoin de convertir des tableaux en paramètres de requête pour la transmission de données. La conversion de tableaux PHP en paramètres de requête est une opération très courante et une opération inévitable dans le développement PHP. Cet article explique comment utiliser les fonctions en PHP pour convertir des tableaux en paramètres de requête.

1. Utilisez la fonction http_build_query

PHP a une fonction http_build_query intégrée, qui peut être utilisée pour convertir des tableaux en paramètres de requête. La fonction http_build_query est utilisée pour convertir un tableau en chaîne de requête après encodage URL. Sa syntaxe de base 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, query_data représente le tableau à convertir, et numeric_prefix est facultatif, ce qui signifie que le Le tableau est forcé d'être converti en un index numérique pur. Nom de la clé, arg_separator représente le séparateur entre les éléments du tableau, enc_type représente le jeu de caractères à utiliser pour le codage de l'URL, la valeur par défaut est PHP_QUERY_RFC1738.

Par exemple, nous avons le tableau suivant :

$data = array(
    'name' => 'Tom',
    'age' => 20,
    'gender' => 'male'
);
Copier après la connexion

Nous pouvons utiliser la fonction http_build_query pour le convertir en paramètres de requête au format suivant :

name=Tom&age=20&gender=male
Copier après la connexion
Copier après la connexion

L'utilisation spécifique est la suivante :

$data = array(
    'name' => 'Tom',
    'age' => 20,
    'gender' => 'male'
);
$params = http_build_query($data);
echo $params;
Copier après la connexion

2. fonction de paramètre

Si nous Si vous ne souhaitez pas utiliser les fonctions intégrées de PHP, vous pouvez également écrire une fonction manuscrite pour convertir le tableau en paramètres de requête. Voici un exemple de code simple :

function array2param($data)
{
    $params = array();
    foreach ($data as $key => $value) {
        if (is_array($value)) {
            $params[] = array2param($value);
        } else {
            $params[] = urlencode($key) . '=' . urlencode($value);
        }
    }
    return implode('&', $params);
}
Copier après la connexion

Nous pouvons appeler cette fonction pour convertir le tableau en paramètres de requête, l'exemple de code est le suivant :

$data = array(
    'name' => 'Tom',
    'age' => 20,
    'gender' => 'male'
);
$params = array2param($data);
echo $params;
Copier après la connexion

Le résultat de sortie est le suivant :

name=Tom&age=20&gender=male
Copier après la connexion
Copier après la connexion

3. Utilisez http_build_query et array. parcours récursif

Utiliser http_build_query et le parcours récursif de tableaux peut être plus pratique lorsqu'il s'agit de tableaux multidimensionnels. Voici l'exemple de code :

function array2param($data) {
    $queryData = array();       // 将生成的字符串数组
    foreach ($data as $key => $value) {
        if (is_array($value)) {
            $queryData[] = http_build_query(array($key => $value));  // 处理多维数组
        } else {
            $queryData[] = urlencode($key) . '=' . urlencode($value);
        }
    }
    return implode('&', $queryData);
}
Copier après la connexion

Exemple d'utilisation :

$data = array(
    'name' => 'Tom',
    'age' => 20,
    'gender' => 'male',
    'contact' => array(
        'email' => 'example@mail.com',
        'phone' => '1234567890'
    )
);
$params = array2param($data);
echo $params;
Copier après la connexion

Résultat de sortie :

name=Tom&age=20&gender=male&contact%5Bemail%5D=example%40mail.com&contact%5Bphone%5D=1234567890
Copier après la connexion

Résumé

En PHP, la conversion d'un tableau en paramètre de requête est une opération très courante. Cet article présente trois méthodes d'implémentation différentes, à savoir l'utilisation de la fonction http_build_query, un tableau manuscrit pour demander la fonction de paramètre et l'utilisation de http_build_query et du parcours récursif de tableau. En fonction des besoins et de la situation réelle, différentes méthodes peuvent être choisies pour y faire face.

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