Pourquoi `json_encode` traite-t-il les tableaux clairsemés différemment en fonction de leur structure ?

Linda Hamilton
Libérer: 2024-11-26 05:34:10
original
657 Les gens l'ont consulté

Why Does `json_encode` Treat Sparse Arrays Differently Depending on Their Structure?

JSON_ENCODE encode différemment les tableaux clairsemés : objet par rapport au tableau

Lorsque vous travaillez avec des tableaux clairsemés, il est important de comprendre comment se comporte json_encode. Un tableau clairsemé est un tableau qui contient des indices manquants, créant des lacunes dans la séquence numérique.

Le problème

Comme le démontre l'extrait de code fourni, json_encode encode initialement le tableau clairsemé. array $a sous forme de tableau. Cependant, après avoir supprimé un élément à l'aide d'unset, l'appel json_encode suivant produit un objet JSON.

L'explication

JSON n'a aucun moyen de représenter des tableaux avec des indices manquants. En conséquence, json_encode revient à coder des tableaux clairsemés en tant qu'objets JSON lorsqu'il rencontre de telles lacunes.

La solution

Pour éviter ce comportement et garantir que les tableaux clairsemés sont codé de manière cohérente sous forme de tableaux, vous pouvez utiliser array_values($a) avant d'appliquer json_encode. Cette fonction réindexe le tableau, supprimant les espaces et garantissant une sortie cohérente.

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