Maison > développement back-end > Problème PHP > Comment convertir un tableau php en objet json

Comment convertir un tableau php en objet json

PHPz
Libérer: 2023-04-17 17:14:55
original
1090 Les gens l'ont consulté

En PHP, le tableau est l'une des structures de données courantes. Aujourd'hui, en raison de la popularité croissante de l'échange de données et de la séparation front-end et back-end, on peut dire que le format de données JSON est largement utilisé. Alors comment convertir un tableau en PHP en objet JSON ? Cet article donnera la réponse.

1. Utilisez la fonction intégrée PHP json_encode()

PHP fournit une fonction intégrée json_encode() pour convertir les tableaux PHP en objets JSON. La fonction json_encode() accepte une variable PHP comme paramètre et code la variable dans une chaîne au format JSON. Vous trouverez ci-dessous un exemple d'utilisation de la fonction json_encode() pour convertir un tableau PHP en objet JSON.

$my_array = [1, 2, 'hello', 'world'];
 
$json_string = json_encode($my_array);
 
echo $json_string;
Copier après la connexion

La sortie du code ci-dessus est la suivante :

[1,2,"hello","world"]
Copier après la connexion
Copier après la connexion

Il convient de noter que le deuxième paramètre facultatif $option de la fonction json_encode() est par défaut à 0, ce qui signifie qu'il n'y a pas d'indentation dans le résultat de sortie. Vous pouvez rendre les résultats plus lisibles en définissant ce paramètre sur JSON_PRETTY_PRINT.

2. Utilisez la fonction intégrée PHP json_decode()

Correspondant à la fonction json_encode(), PHP fournit également la fonction json_decode() pour convertir les chaînes au format JSON en tableaux PHP. Voici comment utiliser json_decode(. ) fonction vers Exemple de conversion d'un objet JSON en tableau PHP.

$json_string = '[1,2,"hello","world"]';
 
$my_array = json_decode($json_string);
 
var_dump($my_array);
Copier après la connexion

Le résultat de sortie est :

array(4) { [0]=> int(1) [1]=> int(2) [2]=> string(5) "hello" [3]=> string(5) "world" }
Copier après la connexion

Il convient de noter que la fonction json_decode() convertit les chaînes JSON en objets stdClass par défaut. Si vous souhaitez le convertir en tableau PHP, vous pouvez définir le deuxième paramètre de la fonction json_decode() sur true, comme indiqué ci-dessous :

$json_string = '{"name": "Tom", "age": 18}';
 
$my_array = json_decode($json_string, true);
 
var_dump($my_array);
Copier après la connexion

Le résultat de sortie est :

array(2) { ["name"]=> string(3) "Tom" ["age"]=> int(18) }
Copier après la connexion

3 Utilisez la bibliothèque de classes PHP

. Si pour des opérations d'édition plus avancées sur les données JSON, vous pouvez utiliser les bibliothèques JSON en PHP, telles que pecl-json ou jsonlint. Ces bibliothèques offrent plus d'options et de fonctionnalités que les fonctions json_encode() et json_decode().

Par exemple, en utilisant la bibliothèque de classes pecl-json, vous pouvez facilement convertir un tableau PHP en objet JSON :

use \JsonSerializable;
 
class MyArray implements JsonSerializable
{
    private $arr;
 
    public function __construct($arr = [])
    {
        $this->arr = $arr;
    }
 
    public function jsonSerialize()
    {
        return $this->arr;
    }
}
 
$my_array = new MyArray([1, 2, 'hello', 'world']);
 
$json_string = json_encode($my_array);
 
echo $json_string;
Copier après la connexion

Le résultat de sortie est :

[1,2,"hello","world"]
Copier après la connexion
Copier après la connexion

Il convient de noter que lors de la conversion d'un objet PHP en objet JSON , vous devez laisser Cet objet PHP implémente l'interface JsonSerialalisable. Après avoir implémenté l'interface JsonSerializing, la fonction json_encode() appellera la méthode d'interface jsonSerialize() pour convertir l'objet PHP en objet JSON.

Conclusion

Cet article explique comment convertir un tableau en objet JSON en PHP. En utilisant les fonctions intégrées de PHP json_encode() et json_decode(), nous pouvons facilement convertir les formats de données de base. Si vous devez effectuer des opérations d'édition de données JSON plus avancées, vous pouvez utiliser la bibliothèque de classes JSON en PHP. Regardons à nouveau notre exemple. Sans utiliser d'autres bibliothèques, vous pouvez convertir des tableaux en json comme ceci :

$my_array = [1, 2, 'hello', 'world'];

$json_string = json_encode($my_array);

$result_array = json_decode($json_string, true);
Copier après la connexion

Si simple et si pratique !

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!

source:php.cn
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