Maison >développement back-end >tutoriel php >Comment encoder des tableaux PHP en tableaux JSON au lieu d'objets JSON ?

Comment encoder des tableaux PHP en tableaux JSON au lieu d'objets JSON ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-07 18:53:13308parcourir

How to Encode PHP Arrays as JSON Arrays Instead of JSON Objects?

Tableaux JSON et objets JSON : encodage des tableaux PHP pour JSON

Lorsque vous traitez des tableaux PHP et JSON, il est crucial de comprendre la distinction entre les tableaux JSON et les objets JSON . Les tableaux JSON sont représentés par des crochets, tandis que les objets JSON utilisent des accolades.

Dans votre tableau PHP, les clés sont numériques (0 et 2). Cependant, pour être encodés sous forme de tableau JSON, les tableaux PHP doivent avoir des clés séquentielles commençant à 0.

Le comportement par défaut de json_encode est d'encoder votre tableau en tant qu'objet JSON, c'est pourquoi vous obtenez le résultat vous avez décrit. Pour obtenir un tableau JSON à la place, vous devez réindexer votre tableau PHP séquentiellement à l'aide de array_values().

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

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

Après la réindexation, la sortie de json_encode sera un tableau JSON valide, comme vous le souhaitez :

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

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