Maison  >  Article  >  développement back-end  >  Convertir la chaîne json en tableau php

Convertir la chaîne json en tableau php

PHPz
PHPzoriginal
2023-04-23 09:17:15172parcourir

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>

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>

Sortie :

<code>stdClass Object
(
   [name] => Tom
   [age] => 30
   [sex] => male
)</code>

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>

Sortie :

<code>Array
(
   [name] => Tom
   [age] => 30
   [sex] => male
)</code>

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>

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>

Sortie :

<code>stdClass Object
(
   [name] => Tom
   [age] => 30
   [sex] => male
)</code>

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!

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