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!