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