Maison > développement back-end > tutoriel php > Comprendre la différence entre json_encode et json_decode en PHP

Comprendre la différence entre json_encode et json_decode en PHP

coldplay.xixi
Libérer: 2023-04-09 09:42:01
avant
2650 Les gens l'ont consulté

Comprendre la différence entre json_encode et json_decode en PHP

1. json_encode() Encode les variables JSON

  • Syntaxe : json_encode($value[,$options=0])
  • Remarque : 1. $value est la valeur à encoder, et cette fonction n'est valable que pour les données codées en UTF8 ;
    2. Options : Masque binaire composé des constantes suivantes : json_hex_quot, json_hex_tag, json_hex_amp, json_hex_apos, json_numeck_check, json_pretty_print, Hes, json_force_object
    ​ ​ 3. Le deuxième paramètre n'est généralement pas nécessaire
    ; ​​ 4. Les données JSON sont en fait une chaîne, vous pouvez utiliser var_dump() pour les imprimer et voir le type de données
     ; ​ 5. Les données JSON seront renvoyées si l'exécution réussit, sinon FALSE sera renvoyé.

Exemple :

$book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
$json = json_encode($book);
echo $json;
Copier après la connexion

Le résultat imprimé par le navigateur est le suivant :

{"a":"xiyouji","b": "sanguo ","c":"shuihu","d":"hongloumeng"}

2. json_decode() décode les données JSON et les convertit en variables PHP

  • Syntaxe : json_decode($json[,$assoc=false[,$degree=512[,$options=0]]])
  • Remarque : 1 , $json sont les données à décoder, qui doivent être des données codées en utf8
    ; ​​2. Lorsque la valeur $assoc est TRUE, elle renvoie un tableau, et lorsqu'elle est FALSE, elle renvoie un objet
    ; 3. $profondeur est la profondeur de récursion
    ​​4. Masque binaire $option, ne prend actuellement en charge que JSON_BIGINT_AS_STRING
     ; 5. Généralement, seuls les deux premiers paramètres sont utilisés. Si vous souhaitez des données d'un type de données, ajoutez un paramètre true.

Exemple :

$book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
  $json = json_encode($book);
  
  $array = json_decode($json,TRUE);
  $obj = json_decode($json);
  var_dump($array);
  var_dump($obj);
Copier après la connexion

Les résultats imprimés par le navigateur sont les suivants :

array(4) { ["a"]=> string( 7) "xiyouji" ["b"]=> string(6) "sanguo" ["c"]=> string(6) "shuihu" ["d"]=> hongloumeng" }
object(stdClass)#2 (4) { ["a"]=> string(7) "xiyouji" ["b"]=> string(6) "sanguo" ["c" ]= > string(6) "shuihu" ["d"]=> string(11) "hongloumeng" }

Les deux résultats ne semblent pas très différents, mais lors de l'appel du éléments à l'intérieur, les méthodes de array et obj sont différentes.

$book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
  $json = json_encode($book);
  
  $array = json_decode($json,TRUE);
  $obj = json_decode($json);
  var_dump($array['b']);//调用数组元素
  echo &#39;<br/>&#39;;
  var_dump($obj->c);//调用对象元素
Copier après la connexion

Le résultat de l'impression est le suivant :

string(6) "sanguo" string(6) "shuihu"

Ceci termine le brief Analyse de cet article Cet article présente la différence entre json_encode et json_decode en PHP. Pour plus d'informations sur PHP json_encode et json_decode, veuillez rechercher les articles précédents de Script House ou continuer à parcourir les articles pertinents ci-dessous. J'espère que vous soutiendrez Script House à l'avenir. !

Recommandations d'apprentissage associées : Programmation PHP de l'entrée à la maîtrise

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!

Étiquettes associées:
source:jb51.net
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