Maison > développement back-end > tutoriel php > Comment puis-je m'assurer que mon tableau PHP est encodé en tant que tableau JSON et non en tant qu'objet ?

Comment puis-je m'assurer que mon tableau PHP est encodé en tant que tableau JSON et non en tant qu'objet ?

Mary-Kate Olsen
Libérer: 2024-12-26 02:42:09
original
278 Les gens l'ont consulté

How Can I Ensure My PHP Array Encodes as a JSON Array, Not an Object?

Encodage de tableaux PHP en tant que tableaux JSON

Le dilemme de la conversion d'un tableau PHP en tableau JSON au lieu d'un objet se pose lorsque le tableau PHP a des clés non séquentielles. Par défaut, json_encode() interprète les tableaux comme des objets si les clés ne sont pas séquentielles.

Pour résoudre ce problème, il est crucial de comprendre la spécification JSON RFC 8259. Il définit un tableau sous forme de crochets entourant des valeurs séparées par des virgules. Ainsi, pour générer un tableau JSON, le tableau PHP doit avoir des clés numériques consécutives (0, 1, 2, ...).

Dans l'exemple donné, le tableau PHP a les clés 0 et 2 mais pas 1 . Cette structure de clé non séquentielle amène json_encode() à traiter le tableau comme un objet.

Pour rectifier cela et encoder le tableau en tant que tableau JSON, il faut le réindexer. séquentiellement en utilisant array_values(). Cette fonction crée un nouveau tableau avec des touches numériques consécutives, transformant efficacement le tableau d'origine dans un format acceptable pour l'encodage JSON.

L'extrait de code suivant montre comment utiliser array_values() pour obtenir le résultat souhaité :

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

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