Maison > Article > développement back-end > Explication détaillée des fonctions json_encode() et json_decode() en php
Avant de présenter ces deux fonctions, je veux quand même parler de json. Je ne sais pas ce que vous savez sur json. J'ai l'impression qu'après avoir été exposé à PHP pendant un certain temps, j'ai quelques impressions sur json, mais ce n'est qu'une impression, je sais seulement que c'est un type de données et. est relativement léger. Mais je suis vraiment vague sur sa structure, et je ne l'ai pas compris jusqu'à ce que je l'utilise maintenant, donc : La pratique est un moyen très efficace de tester si vous avez acquis de vraies connaissances.
Un : Le premier est json_encode(), ce qui signifie convertir les données au format json Alors, quel type de données peut être converti au format json
1. Objet. .
Définissez une classe, créez un objet, vous pouvez convertir l'objet au format json
<?php class Emp { public $name = ""; public $hobbies = ""; public $birthdate = ""; } $e = new Emp(); $e->name = "sachin"; $e->hobbies = "sports"; $e->birthdate = date('m/d/Y h:i:s a', "8/5/1974 12:20:03 p"); $e->birthdate = date('m/d/Y h:i:s a', strtotime("8/5/1974 12:20:03")); echo json_encode($e); ?>
Résultat
{"name":"sachin","hobbies":"sports","birthdate":"08\/05\/1974 12:20:03 pm"}
2. Tableau.
Définir un tableau de paires clé-valeur
<?php $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); echo json_encode($arr); ?>
Résultat
{"a":1,"b":2,"c":3,"d":4,"e":5}
On peut savoir qu'elles sont toutes converties en données au format json En fait, le. le fait n'est pas que les résultats sont les mêmes, car sont-ils tous convertis en json ? . Ce que nous devons savoir, c'est que les types de données qui peuvent être convertis au format json sont des objets et des tableaux de paires clé-valeur
Deux : suivis de json_decode(). Décodez les chaînes au format JSON et convertissez-les en variables PHP.
Entrez d'abord le code
Imprimez le résultat
object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }
Ici, nous pouvons clairement voir Le premier résultat imprimé est un objet et le second est un tableau de paires clé-valeur.
De cette façon, nous pouvons bien expliquer le deuxième paramètre de json_decode() :
Quand il est vrai : il renvoie un tableau ; lorsqu'il est faux (la valeur par défaut est false) : il renvoie un objet.
Recommandations associées :
Explication détaillée de la fonction json_encode() en PHP
Explication détaillée de la fonction PHP json_encode() et du chinois tronqué problème de code
Introduction à la fonction PHP json_encode()
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!