Comment json_encode()` les clés du tableau PHP?
J'ai un tableau qui s'imprime comme ce
Array ( [0] => 1691864 [1] => 7944458 [2] => 9274078 [3] => 1062072 [4] => 8625335 [5] => 8255371 [6] => 5476104 [7] => 6145446 [8] => 7525604 [9] => 5947143 )
Si je json_encode($thearray)
- je obtenir quelque chose comme ceci
[1691864,7944458,9274078,1062072,8625335,8255371,5476104,6145446,7525604,5947143]
Pourquoi le nom n'est pas codé (e.g 0, 1 , 2 , 3, etc) ? et comment dois-je faire pour le faire apparaître dans le code json?
le code complet est ci-dessous
$ie = 0;
while($ie 10)
{
$genid = rand(1000000,9999999);
$temp[$ie] = $genid ;
$ie++;
}
print_r($temp);
$temp_json = json_encode($temp);
print_r($temp_json);
OriginalL'auteur Michael | 2011-01-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez forcer que
json_encode
utilise un objet même si vous êtes de passage d'un tableau avec les touches numériques par la mise en au JSON_FORCE_OBJECT option:Alors la valeur retournée sera un objet JSON avec les touches numériques:
Mais vous ne devriez faire cela que si un objet est vraiment nécessaire.
JSON_FORCE_OBJECT
, toute chute à l'aide de ce paramètre? Voté ~ TyOriginalL'auteur Gumbo
Utiliser ce lieu:
Cela transforme le tableau en objet, qui, lorsqu'il JSON codé, affiche les touches.
Si vous êtes le stockage d'une séquence de données, pas un mappage d'un nombre à un autre nombre, vous devriez vraiment utiliser un tableau.
OriginalL'auteur Thai
Parce que ce ne sont que les indices du tableau. Si vous souhaitez ajouter une sorte de nom à chaque élément, alors vous devez utiliser un tableau associatif.
Lorsque vous décoder tableau JSON si il va revenir à 0, 1, 2, 3 etc.
OriginalL'auteur christophmccann
Ce comportement défini. Le tableau vous montrer, c'est un non-associatif, normalement tableau indexé. Ses index sont implicitement numérique.
Si vous décodez le tableau en PHP ou en JavaScript, vous serez en mesure d'accéder aux éléments à l'aide de l'index:
OriginalL'auteur Pekka 웃