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

Comment convertir un tableau PHP en tableau JSON à l'aide de « json_encode » ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-03 13:12:12681parcourir

How Do I Convert a PHP Array to a JSON Array Using `json_encode`?

Conversion d'un tableau PHP en tableau JSON à l'aide de json_encode

Lorsque vous travaillez avec des tableaux PHP, il est important de comprendre comment ils sont représentés en JSON lors de l'utilisation json_encode. Par défaut, les tableaux PHP sont codés en tant qu'objets JSON lorsque leurs clés ne sont pas séquentielles.

Considérez le tableau PHP suivant :

$input = [
    [
        "id" => 0,
        "name" => "name1",
        "short_name" => "n1"
    ],
    [
        "id" => 2,
        "name" => "name2",
        "short_name" => "n2"
    ]
];

Lorsque vous tentez d'encoder ce tableau à l'aide de json_encode, le résultat serait être l'objet JSON suivant :

{
    "0": {
        "id": 0,
        "name": "name1",
        "short_name": "n1"
    },
    "2": {
        "id": 2,
        "name": "name2",
        "short_name": "n2"
    }
}

Ce comportement se produit car les clés du tableau ne sont pas séquentielles (0 et 2). Pour encoder le tableau en tant que tableau JSON, toutes les clés doivent être séquentielles.

Solution : Réindexation avec array_values

Pour convertir le tableau dans un format séquentiel, utilisez array_values function :

$output = json_encode(array_values($input));

Cela réindexe le tableau, en commençant par 0, garantissant des clés séquentielles. Le JSON résultant devient un tableau :

[
    {
        "id": 0,
        "name": "name1",
        "short_name": "n1"
    },
    {
        "id": 2,
        "name": "name2",
        "short_name": "n2"
    }
]

En comprenant la représentation des tableaux PHP dans JSON et en utilisant array_values ​​pour la réindexation séquentielle, vous pouvez réussir à encoder des tableaux PHP en tant que tableaux JSON à l'aide de 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!

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