Maison >développement back-end >tutoriel php >Comment utiliser json_decode() et json_encode() en php ?
json_decode encode les chaînes au format JSON, tandis que json_encode encode les variables en JSON. L'article suivant vous présentera comment utiliser json_decode() et json_encode(). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
1. json_encode() Encodage JSON des variables
Syntaxe :
json_encode ( $value [, $options = 0 ] )
Remarque :
1. $value est la valeur à encoder, et cette fonction n'est valable que pour les données encodées en UTF8
2 options : un masque binaire composé des constantes suivantes : JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT ;
3. Le deuxième paramètre n'est généralement pas nécessaire
4. imprimez-le et affichez les données. Tapez
5. Renvoyez les données JSON si elles sont exécutées avec succès, sinon renvoyez FALSE.
par exemple :
//执行代码 $book = array('a'=>'lzichun','b'=>'nihao','c'=>'wohenhao','d'=>'ljlong'); $json = json_encode($book); echo $json; //打印出的结果 {"a":"lzichun","b":"nihao","c":"wohenhao","d":"ljlong"}
2. json_decode() décode les données JSON et les convertit en variables PHP
Syntaxe :
json_decode (json[,json [,json[,assoc = false [, $depth = 512 [, $options =0 ]]])
Remarque :
1. $json est les données à décoder, qui doivent être des données codées en utf8 ;
2. $assoc renvoie un tableau lorsque la valeur est VRAIE, et un objet lorsque. FALSE ;
3. $ la profondeur est la profondeur de récursion ;
4. Le masque binaire $option, ne prend actuellement en charge que JSON_BIGINT_AS_STRING ; sont utilisés, si des données sont requises. Tapez data doit ajouter un paramètre true.
par 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); //打印出的结果 array(4) { ["a"]=> string(7) "xiyouji" ["b"]=> string(6) "sanguo" ["c"]=> string(6) "shuihu" ["d"]=> string(11) "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 des é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 '<br/>';
var_dump($obj->c);//调用对象元素
//打印出的结果
string(6) "sanguo"
string(6) "shuihu"
Apprentissage recommandé :Tutoriel vidéo PHP
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!