Dans le processus de développement web, il est souvent nécessaire de convertir les données au format PHP au format JSON pour la transmission. En PHP, il existe deux types de données courants qui doivent être convertis au format JSON, à savoir les tableaux et les objets. Cet article expliquera comment convertir des tableaux et des objets en PHP au format JSON, et convertir le format JSON en tableaux ou objets.
1. Convertir le tableau PHP au format JSON
1. Utilisez la fonction json_encode()
En PHP, vous pouvez utiliser la fonction json_encode() pour convertir le tableau au format JSON. Cette fonction reçoit un paramètre, qui est un tableau qui doit être converti au format JSON. Voici un exemple :
$array = array('name' => '张三', 'age' => 20); $json = json_encode($array); echo $json;
Après l'exécution, le résultat de sortie est :
{"name":"张三","age":20}
Le code ci-dessus convertit un tableau contenant le nom et l'âge au format JSON.
Par défaut, la fonction json_encode() convertira les noms de clés du tableau en noms d'attributs en JSON. Si vous devez conserver les noms de clés au format JSON, vous pouvez transmettre un paramètre spécial JSON_FORCE_OBJECT à cette fonction lors de son utilisation. Par exemple :
$array = array('name' => '张三', 'age' => 20); $json = json_encode($array, JSON_FORCE_OBJECT); echo $json;
Après l'exécution, le résultat de sortie est :
{"name":"张三","age":20}
Comme vous pouvez le voir, le résultat ici est le même que dans l'exemple précédent.
2. Utilisez foreach pour parcourir le tableau
Une autre façon de convertir un tableau PHP au format JSON consiste à utiliser foreach pour parcourir le tableau. Par exemple :
$array = array('name' => '张三', 'age' => 20); $json = '{'; foreach ($array as $key => $value) { $json .= '"' . $key . '":"' . $value . '",'; } $json = substr($json, 0, -1); $json .= '}'; echo $json;
Le résultat de sortie est :
{"name":"张三","age":"20"}
Comme vous pouvez le voir, ce code convertit également le tableau au format JSON. Cependant, cette méthode nécessite un épissage manuel des cordes, ce qui est plus fastidieux.
2. Convertir les objets PHP au format JSON
1. Utilisez la fonction json_encode()
Semblable aux tableaux, en PHP, vous pouvez également utiliser la fonction json_encode() pour convertir des objets au format JSON. Voici un exemple :
class Student { public $name; public $age; } $student = new Student(); $student -> name = "张三"; $student -> age = 20; $json = json_encode($student); echo $json;
Après la conversion du code, le résultat de sortie est :
{"name":"张三","age":20}
Comme vous pouvez le voir, ce code convertit un objet de type Student au format JSON.
Si vous devez conserver les informations sur le type d'objet au format JSON, vous pouvez lui transmettre un paramètre spécial JSON_UNESCAPED_UNICODE lors de l'utilisation de la fonction json_encode(). Par exemple :
class Student { public $name; public $age; } $student = new Student(); $student -> name = "张三"; $student -> age = 20; $json = json_encode($student, JSON_UNESCAPED_UNICODE); echo $json;
Après l'exécution, le résultat de sortie est :
{"name":"张三","age":20,"__className":"Student"}
2. Utilisez la fonction json_encode() et la traversée de tableau
Semblable aux tableaux, en PHP, vous pouvez également utiliser foreach pour parcourir les propriétés de l'objet. Par exemple :
class Student { public $name; public $age; } $student = new Student(); $student -> name = "张三"; $student -> age = 20; $json = '{'; foreach ($student as $key => $value) { $json .= '"' . $key . '":"' . $value . '",'; } $json = substr($json, 0, -1); $json .= '}'; echo $json;
Après l'exécution, le résultat de sortie est :
{"name":"张三","age":"20"}
Comme vous pouvez le voir, ce code convertit également l'objet au format JSON. Cependant, cette méthode nécessite également un épissage manuel des cordes, ce qui est plus fastidieux.
3. Convertir JSON en tableau ou objet PHP
Lors du développement Web, il est souvent nécessaire d'obtenir des données au format JSON à partir de la page frontale et de les convertir en tableau ou objet en PHP pour un traitement ultérieur. Voici comment convertir JSON en tableau ou objet en PHP.
1. Utilisez la fonction json_decode() pour convertir JSON en tableau
Vous pouvez utiliser la fonction json_decode() pour convertir les données au format JSON en tableau PHP. Cette fonction a deux paramètres, le premier est la chaîne JSON qui doit être convertie et le second est une valeur booléenne utilisée pour spécifier s'il faut convertir le tableau en objet PHP. La valeur par défaut est false, c'est-à-dire convertie en tableau. . Par exemple :
$json = '{"name":"张三","age":20}'; $array = json_decode($json, true); var_dump($array);
Après l'exécution, le résultat de sortie est le suivant :
array(2) { ["name"]=> string(6) "张三" ["age"]=> int(20) }
Vous pouvez voir que cette fonction convertit les données au format JSON en un tableau PHP et génère le résultat.
2. Utilisez la fonction json_decode() pour convertir JSON en objet
En plus de la conversion en tableau, vous pouvez utiliser la fonction json_decode() pour convertir les données au format JSON en un objet PHP. Par exemple :
$json = '{"name":"张三","age":20}'; $obj = json_decode($json); var_dump($obj);
Après l'exécution, le résultat de sortie est le suivant :
class stdClass#1 (2) { public $name => string(6) "张三" public $age => int(20) }
Comme vous pouvez le voir, cette fonction convertit les données au format JSON en un objet PHP et génère le résultat.
En résumé, il existe de nombreuses façons de convertir des tableaux et des objets en PHP au format JSON, et vous pouvez choisir de les utiliser en fonction de la situation réelle. Dans le même temps, il existe également des fonctions correspondantes qui peuvent être utilisées lors de l'obtention de données au format JSON à partir de la page frontale et de leur conversion en tableau ou objet en PHP. Maîtriser l'utilisation correcte de ces fonctions est d'une grande importance pour le développement d'applications Web.
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!