J'ai le tableau suivant en PHP:
Array
(
[0] => Array
(
[id] => 0
[name] => name1
[short_name] => n1
)
[2] => Array
(
[id] => 2
[name] => name2
[short_name] => n2
)
)
Je veux l'encoder JSON en tant que tableau JSON, produisant une chaîne comme celle-ci:
[
{
"id":0,
"name":"name1",
"short_name":"n1"
},
{
"id":2,
"name":"name2",
"short_name":"n2"
}
]
Mais lorsque j'appelle json_encode
ce tableau, j'obtiens ce qui suit:
{
"0":{
"id":0,
"name":"name1",
"short_name":"n1"
},
"2":{
"id":2,
"name":"name2",
"short_name":"n2"
}
}
qui est un objet au lieu d'un tableau.
Comment puis-je json_encode
encoder mon tableau en tant que tableau?
0,2
sont importantes? Je suis dans la même situation où je ne peux pas réindexer le tableau.Array
dansJSON
sont des tableaux indexés uniquement , donc la structure que vous essayez d'obtenir n'est pas valide Json / Javascript.Les tableaux PHP Associatifs sont des objets en JSON, donc à moins que vous n'ayez besoin de l'index, vous ne pouvez pas effectuer de telles conversions.
Si vous souhaitez obtenir une telle structure, vous pouvez faire:
Will retourne quelque chose comme:
la source
true transforme toutes les propriétés en tableau (séquentiel ou non)
la source
json_encode
$serialized = json_encode($nonContiguousArray);
$unserialize = json_decode($serialized, true);
finalementfinallySerializedInArrayFormat = json_encode($unserialize);
si c'est ce que vous voulez dire que vous avez raison, mais cela semblait être une solution un peu distordue.Essaye ça,
la source