Maison > Article > développement back-end > Convertir la chaîne json en tableau php
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 :
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 ;<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!