Maison  >  Article  >  développement back-end  >  Comment convertir json en tableau en php

Comment convertir json en tableau en php

PHPz
PHPzoriginal
2023-04-24 14:51:125849parcourir

En PHP, la conversion de JSON en tableau est une opération très courante. JSON est un format d'échange de données léger qui représente les données sous la forme de paires clé-valeur, et les tableaux constituent également une structure de stockage de données. La conversion de JSON en tableau peut nous aider à traiter et à manipuler les données plus facilement.

Présentons plusieurs méthodes pour convertir JSON en tableau en PHP.

Méthode 1 : fonction json_decode()

PHP fournit une fonction intégrée json_decode() pour convertir les chaînes JSON en tableaux PHP. Pour utiliser cette fonction, il vous suffit de passer une chaîne JSON en paramètre. Cette fonction peut également recevoir un paramètre facultatif $assoc pour contrôler le type de tableau renvoyé.

L'exemple de code est le suivant :

$json = '{"name":"john", "age":30, "city":"New York"}';

$array = json_decode($json);

print_r($array);

Le résultat de sortie est le suivant :

Array
(
   [name] => john
   [age] => 30
   [city] => New York
)

Dans le code ci-dessus, $json est une chaîne contenant des données JSON, qui est convertie en un tableau PHP via la fonction json_decode(). Puisque le paramètre $assoc n'est pas passé, un tableau de types d'objet est renvoyé par défaut. Si vous devez renvoyer un tableau associatif, vous pouvez transmettre le deuxième paramètre comme vrai.

$json = '{"name":"john", "age":30, "city":"New York"}';

$array = json_decode($json, true);

print_r($array);

Le résultat de sortie est le suivant :

Array
(
   [name] => john
   [age] => 30
   [city] => New York
)

Méthode 2 : utilisez la fonction json_decode() et la fonction file_get_contents()

En plus de convertir la chaîne JSON en tableau via la fonction json_decode(), vous pouvez également obtenez le fichier JSON via le contenu de la fonction file_get_contents() et convertissez-le en un tableau PHP à l'aide de la fonction json_decode().

L'exemple de code est le suivant :

$json = file_get_contents('data.json');

$array = json_decode($json);

print_r($array);

Dans le code ci-dessus, utilisez la fonction file_get_contents() pour obtenir le contenu du fichier JSON nommé data.json, puis utilisez la fonction json_decode() pour le convertir en PHP. tableau.

Il convient de noter que lors de l'utilisation de cette méthode, les caractères BOM (Byte Order Mark) ne peuvent pas exister dans le fichier JSON, sinon il ne sera pas correctement analysé et converti en tableau PHP.

Méthode 3 : utilisez la fonction json_decode() et la bibliothèque curl

Si vous avez besoin d'obtenir les données JSON renvoyées par le serveur distant et de les convertir en un tableau PHP, vous pouvez utiliser la bibliothèque curl et la fonction json_decode().

L'exemple de code est le suivant :

$url = 'http://example.com/data.json';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$json = curl_exec($ch);

$array = json_decode($json);

curl_close($ch);

print_r($array);

Dans le code ci-dessus, la bibliothèque curl est utilisée pour envoyer une requête GET pour obtenir le contenu du fichier JSON distant nommé data.json, et la fonction json_decode() est utilisée pour convertissez-le en un tableau PHP.

Résumé

Ci-dessus sont plusieurs méthodes de conversion de données au format JSON en tableaux PHP. Si vous devez utiliser des données au format JSON dans un projet PHP, vous pouvez utiliser ces méthodes pour les convertir en tableau PHP afin de faciliter leur traitement et leur manipulation.

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