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
Barbara Streisandoriginal
2024-12-21 18:51:10660parcourir

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"
    ]
];

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"
    }
}

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));

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"
    }
]

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!

Déclaration:
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