Maison > développement back-end > Problème PHP > Convertir l'objet tableau php en paramètres d'URL

Convertir l'objet tableau php en paramètres d'URL

王林
Libérer: 2023-05-07 17:53:07
original
622 Les gens l'ont consulté

Dans le développement PHP, il est parfois nécessaire de convertir des tableaux ou des objets en paramètres d'URL. Par exemple, lorsque nous utilisons cURL pour envoyer une requête HTTP, nous devons convertir les paramètres de la requête au format de paramètre URL. Apprenons comment convertir des objets tableau en paramètres URL en PHP.

  1. Tableau PHP en paramètres d'URL

Utilisez la fonction http_build_query pour convertir un tableau PHP en chaîne de paramètres d'URL. L'exemple de code est le suivant :

$params = array('name' => '张三', 'age' => 18);
$queryString = http_build_query($params);
echo $queryString; // 输出:name=%E5%BC%A0%E4%B8%89&age=18
Copier après la connexion

Le premier paramètre de la fonction http_build_query est un tableau, le deuxième paramètre est le préfixe et le troisième paramètre est le délimiteur. S'il n'y a pas de préfixes ni de délimiteurs, ces deux paramètres n'ont pas besoin d'être transmis.

  1. Objet PHP en paramètres d'URL

Pour les objets PHP, nous pouvons d'abord les convertir en tableaux, puis utiliser la fonction http_build_query pour les convertir en paramètres d'URL. L'exemple de code est le suivant :

class User {
  public $name;
  public $age;
  public function __construct($name, $age) {
    $this->name = $name;
    $this->age = $age;
  }
}
$user = new User('张三', 18);
$params = (array)$user; // 将对象转换成数组
$queryString = http_build_query($params);
echo $queryString; // 输出:name=%E5%BC%A0%E4%B8%89&age=18
Copier après la connexion
  1. Gestion des caractères spéciaux

Lorsque vous utilisez la fonction http_build_query pour convertir, vous devez faire particulièrement attention à savoir si les paramètres contiennent des caractères spéciaux. Par exemple, les caractères tels que les espaces, +, /, etc. doivent être échappés dans un format de codage spécifique dans les paramètres d'URL. L'exemple de code est le suivant :

$params = array('name' => '张三 王五', 'age' => 18);
$queryString = http_build_query($params);
echo $queryString; // 输出:name=%E5%BC%A0%E4%B8%89+%E7%8E%8B%E4%BA%94&age=18
Copier après la connexion

Dans l'exemple ci-dessus, le paramètre contient des espaces, que la fonction http_build_query échappe dans un signe plus (+). Si vous avez besoin de convertir au format d'encodage UTF-8, vous pouvez utiliser la fonction urlencode :

$params = array('name' => '张三 王五', 'age' => 18);
$queryString = http_build_query($params);
$queryString = str_replace('+', '%20', $queryString); // 将加号替换成UTF-8编码格式的空格
echo $queryString; // 输出:name=%E5%BC%A0%E4%B8%89%20%E7%8E%8B%E4%BA%94&age=18
Copier après la connexion

Résumé :

Grâce aux exemples ci-dessus, nous avons appris comment convertir des objets tableau en paramètres d'URL en PHP. Plus précisément, nous pouvons utiliser la fonction http_build_query pour convertir un tableau PHP en chaîne de paramètres d'URL, ou nous pouvons d'abord convertir l'objet en tableau, puis utiliser cette fonction pour le convertir. Dans le même temps, lors du traitement des caractères spéciaux, vous devez déterminer si vous devez utiliser la fonction urlencode pour la conversion de codage.

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