Maison > développement back-end > tutoriel php > Comment encoder un tableau PHP en tant que tableau JSON à l'aide de « json_encode » ?

Comment encoder un tableau PHP en tant que tableau JSON à l'aide de « json_encode » ?

Barbara Streisand
Libérer: 2024-12-21 18:51:10
original
590 Les gens l'ont consulté

How to Encode a PHP Array as a JSON Array Using `json_encode`?

Encodage de tableaux PHP en tant que tableaux JSON avec json_encode

En PHP, la fonction json_encode est utilisée pour convertir les structures de données PHP en leurs homologues JSON. Par défaut, les tableaux PHP sont codés sous forme d'objets JSON. Cependant, il existe des scénarios dans lesquels l'encodage d'un tableau en tant que tableau JSON est nécessaire.

Énoncé du problème

Considérez le tableau PHP ci-dessous :

$array = [
    [
        "id" => 0,
        "name" => "name1",
        "short_name" => "n1"
    ],
    [
        "id" => 2,
        "name" => "name2",
        "short_name" => "n2"
    ]
];
Copier après la connexion

Lors de l'appel de json_encode sur ce tableau, le JSON résultant est un objet :

{
    "0": {
        "id": 0,
        "name": "name1",
        "short_name": "n1"
    },
    "2": {
        "id": 2,
        "name": "name2",
        "short_name": "n2"
    }
}
Copier après la connexion

C'est pas le résultat souhaité puisque nous voulons plutôt un tableau JSON.

Solution

Pour encoder un tableau PHP en tant que tableau JSON, le tableau doit être séquentiel, c'est-à-dire ses clés doivent être des entiers consécutifs commençant à 0. Dans l'exemple fourni, les clés du tableau sont 0 et 2, ce qui n'est pas séquentiel.

Pour faire en sorte que tableau séquentiel, nous pouvons utiliser la fonction array_values :

echo json_encode(array_values($array));
Copier après la connexion

Cela réindexera le tableau de manière séquentielle, produisant la sortie JSON suivante :

[
    {
        "id": 0,
        "name": "name1",
        "short_name": "n1"
    },
    {
        "id": 2,
        "name": "name2",
        "short_name": "n2"
    }
]
Copier après la connexion

En garantissant que le tableau est séquentiel, json_encode l'encode correctement sous forme de tableau JSON.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal