Maison > développement back-end > Problème PHP > Convertir la chaîne json en tableau php

Convertir la chaîne json en tableau php

PHPz
Libérer: 2023-04-23 09:17:15
original
215 Les gens l'ont consulté

En PHP, convertir une chaîne au format JSON en tableau est un processus très simple. Il existe deux fonctions intégrées PHP qui peuvent être utilisées à cette fin : json_decode() et json_decode_object().

1. Utilisez la fonction json_decode()

La fonction json_decode() est un moyen courant de convertir des chaînes au format JSON en tableaux PHP.

Syntaxe :

<code>mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )</code>
Copier après la connexion

Parmi eux :

  • $json : la chaîne json qui doit être analysée ;
  • $assoc : s'il faut convertir l'objet renvoyé en un tableau associatif. Si la valeur est VRAIE, elle le sera. converti en tableau associatif. La valeur par défaut n'est pas de convertir ;
  • $profondeur : définissez la profondeur de récursion, la valeur par défaut est 512. Afin d'éviter un débordement de mémoire, vous pouvez ajuster cette valeur en fonction de la situation réelle ; options : paramètre facultatif, vous pouvez spécifier des options d’analyse de JSON.
  • Exemple :

Convertir une chaîne au format JSON en tableau :

<code><?php
$json_string = '{"name": "Tom", "age": 30, "sex": "male"}';
$decoded_json = json_decode($json_string);
print_r($decoded_json);
?></code>
Copier après la connexion

Sortie :

<code>stdClass Object
(
   [name] => Tom
   [age] => 30
   [sex] => male
)</code>
Copier après la connexion
Copier après la connexion

Dans le code ci-dessus, nous définissons d'abord une chaîne au format JSON, puis appelons la fonction json_decode() pour décoder le caractère Convert la chaîne dans un tableau PHP $decoded_json et imprimez le résultat.

Si vous souhaitez convertir le résultat renvoyé en un tableau associatif, vous devez définir le paramètre $assoc sur TRUE :

<code><?php
$json_string = '{"name": "Tom", "age": 30, "sex": "male"}';
$decoded_json = json_decode($json_string, true);
print_r($decoded_json);
?></code>
Copier après la connexion

Sortie :

<code>Array
(
   [name] => Tom
   [age] => 30
   [sex] => male
)</code>
Copier après la connexion

Comme vous pouvez le voir sur la sortie ci-dessus, le tableau $decoded_json est différent de le dernier objet de sortie, qui est Parce qu'à ce stade, $assoc est défini sur TRUE et converti en tableau associatif. Si $assoc n'est pas défini, il renvoie par défaut un objet au lieu d'un tableau.

2. Utilisez la fonction json_decode_object()

En plus de la fonction json_decode(), PHP fournit également un autre moyen de convertir des chaînes au format JSON en tableaux PHP, qui est la fonction json_decode_object().

Syntaxe :

<code>object json_decode_object ( string $json_string [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )</code>
Copier après la connexion

Parmi eux :

$json_string : la chaîne json qui doit être analysée ;
  • $assoc : s'il faut convertir l'objet renvoyé en un tableau associatif. Si la valeur est VRAIE, elle le sera. converti en tableau associatif. La valeur par défaut n'est pas de convertir ;
  • $profondeur : définissez la profondeur de récursion, la valeur par défaut est 512. Afin d'éviter un débordement de mémoire, vous pouvez ajuster cette valeur en fonction de la situation réelle ; options : paramètre facultatif, vous pouvez spécifier des options d’analyse de JSON.
  • Exemple :
  • Convertir une chaîne au format JSON en tableau :
<code><?php
$json_string = '{"name": "Tom", "age": 30, "sex": "male"}';
$decoded_json = json_decode_object($json_string);
print_r($decoded_json);
?></code>
Copier après la connexion

Sortie :

<code>stdClass Object
(
   [name] => Tom
   [age] => 30
   [sex] => male
)</code>
Copier après la connexion
Copier après la connexion

Dans le code ci-dessus, nous utilisons la fonction json_decode_object() pour convertir la chaîne JSON en tableau PHP $decoded_json. Comme nous n'avons pas défini le paramètre $assoc, il renvoie par défaut un objet au lieu d'un tableau.

Résumé

En PHP, nous pouvons utiliser la fonction json_decode() et la fonction json_decode_object() pour convertir des chaînes au format JSON en tableaux PHP. Les deux fonctions ont leurs avantages, et celle à choisir dépend de vos besoins spécifiques. Si vous voulez que le résultat soit un objet, utilisez json_decode_object(), si vous voulez que le résultat soit un tableau, utilisez json_decode(). Lors de l'utilisation, vous devez également ajuster les valeurs des paramètres $deep et $options en fonction de la situation réelle pour éviter un débordement de mémoire.

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