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

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

PHPz
PHPzoriginal
2023-04-19 09:15:27581parcourir

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 ]]] )

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'
);

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

L'utilisation spécifique est la suivante :

$data = array(
    'name' => 'Tom',
    'age' => 20,
    'gender' => 'male'
);
$params = http_build_query($data);
echo $params;

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);
}

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;

Le résultat de sortie est le suivant :

name=Tom&age=20&gender=male

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);
}

Exemple d'utilisation :

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

Résultat de sortie :

name=Tom&age=20&gender=male&contact%5Bemail%5D=example%40mail.com&contact%5Bphone%5D=1234567890

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!

Déclaration:
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