Maison >développement back-end >Problème PHP >php json en fonction de tableau
En PHP, nous avons souvent besoin de convertir JSON en tableau pour le traitement. Étant donné que le format JSON est relativement concis et facile à comprendre, il est devenu un format courant pour transmettre des données entre le front et le back-end. Par conséquent, en PHP, certaines fonctions peuvent nous aider à convertir JSON en tableau.
Cet article présentera plusieurs JSON couramment utilisés pour mettre en réseau des fonctions en PHP.
json_decode() est la fonction de base en PHP pour convertir des chaînes JSON en tableaux ou objets PHP. Sa syntaxe est la suivante :
mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )
Où :
Exemple de code :
$json_str = '{"name":"Tom","age":20,"hobby":["reading","writing"]}'; $arr = json_decode($json_str, TRUE); print_r($arr);
Résultat de sortie :
Array ( [name] => Tom [age] => 20 [hobby] => Array ( [0] => reading [1] => writing ) )
Grâce à la fonction json_decode(), nous avons réussi à convertir la chaîne JSON en tableau.
En PHP 7.3 et supérieur, nous pouvons utiliser l'option JSON_THROW_ON_ERROR pour laisser json_decode( ) fonction Lève une exception si une erreur de conversion se produit. L'exemple de code est le suivant :
$json_str = '{"name":"Tom","age":20,"hobby:["reading","writing"]}'; try { $arr = json_decode($json_str, TRUE, 512, JSON_THROW_ON_ERROR); print_r($arr); } catch (JsonException $e) { echo 'JSON错误:' . $e->getMessage(); }
Résultat de sortie :
JSON错误:Syntax error
Dans cet exemple, en raison du format incorrect de la chaîne JSON, la fonction json_decode() a levé une exception et un message d'erreur demandé.
Lorsque vous utilisez la fonction json_decode() pour convertir une chaîne JSON, il y aura parfois des erreurs d'analyse à ce moment-là. nous pouvons utiliser La fonction json_last_error_msg() obtient des informations sur l'erreur. L'exemple de code est le suivant :
$json_str = '{"name":"Tom","age":20,"hobby":["reading","writing"'; $arr = json_decode($json_str, TRUE); if (json_last_error() === JSON_ERROR_NONE) { print_r($arr); } else { echo 'JSON错误:' . json_last_error_msg(); }
Résultat de sortie :
JSON错误:Syntax error
Dans cet exemple, json_last_error_msg() a renvoyé un message d'erreur en raison d'un format de chaîne incorrect.
En PHP, nous pouvons également convertir des tableaux PHP en chaînes au format JSON, ce qui nécessite l'utilisation de la fonction json_encode(). Sa syntaxe est la suivante :
string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )
Où :
L'exemple de code est le suivant :
$arr = array('name' => 'Tom', 'age' => 20, 'hobby' => array('reading', 'writing')); $json_str = json_encode($arr, JSON_UNESCAPED_UNICODE); echo $json_str;
Résultat de sortie :
{"name":"Tom","age":20,"hobby":["reading","writing"]}
Grâce à la fonction json_encode(), nous avons réussi la conversion le tableau PHP en chaîne JSON.
Résumé :
En PHP, nous pouvons utiliser la fonction json_decode() pour convertir une chaîne JSON en tableau ou objet, et nous pouvons également utiliser la fonction json_encode() pour convertir un tableau PHP Une chaîne au format JSON. Dans des circonstances normales, vous pouvez utiliser les options par défaut. Si nécessaire, vous pouvez utiliser les options associées pour configurer. Lors de l'analyse ou de l'encodage de JSON, nous pouvons également utiliser les fonctions associées pour obtenir des informations sur les erreurs afin d'améliorer le traitement.
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!