Bonjour à tous!
Voila j'ai remarqué que lorsqu'un tableau est de deux dimension en php et qu'il y a plusieurs cases dans chaque case de la première dimension comme suit par exemple:
lorsqu'on encode celui-ci en Json, il ne va pas créer un seul objet avec les différents tableau (un tableau d'objets) comme c'est le cas lorsque la deuxième dimension du tableau ne contient qu'une case à chaque fois comme suit:array
0 =>
array
'id' => string '23' (length=2)
0 => string '23' (length=2)
'nom' => string 'Alsace' (length=6)
1 => string 'Alsace' (length=6)
1 =>
array
'id' => string '1' (length=1)
0 => string '1' (length=1)
'nom' => string 'Aquitaine' (length=9)
1 => string 'Aquitaine' (length=9)
2 =>
array
'id' => string '2' (length=1)
0 => string '2' (length=1)
'nom' => string 'Auvergne' (length=8)
1 => string 'Auvergne' (length=8)
3 =>
array
'id' => string '24' (length=2)
0 => string '24' (length=2)
'nom' => string 'Basse-Normandie' (length=15)
1 => string 'Basse-Normandie' (length=15)
4 =>
array
'id' => string '3' (length=1)
0 => string '3' (length=1)
'nom' => string 'Bourgogne' (length=9)
1 => string 'Bourgogne' (length=9)
5 =>
array
'id' => string '4' (length=1)
0 => string '4' (length=1)
'nom' => string 'Bretagne' (length=8)
1 => string 'Bretagne' (length=8)
qui donne cela:array
0 =>
array
0 => string 'Alsace' (length=6)
1 =>
array
0 => string 'Aquitaine' (length=9)
2 =>
array
0 => string 'Auvergne' (length=9)
3 =>
array
0 => string 'Bourgogne' (length=9)
...
Donc dans l'exemple ci-dessus il n'y a qu'un seul objet renvoyé par JSON, mais dans mon exemple où la deuxième dimension contient plusieurs cases voila ce que JSON encode:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 {"1":["Aquitaine"],"2":["Auvergne"],"3":["Bourgogne"],"4":["Bretagne"],"5":["Centre"]}
On voit bien qu'il créé automatiquement un objet pour chaque case de la première dimension, soit un tableau d'objet alors que dans l'exemple précédent on avait un objet de tableaux:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 [{"id":"1","0":"1","nom":"Aquitaine","1":"Aquitaine"},{"id":"2","0":"2","nom":"Auvergne","1":"Auvergne"},{"id":"24","0":"24","nom":"Basse-Normandie","1":"Basse-Normandie"},{"id":"3","0":"3","nom":"Bourgogne","1":"Bourgogne"},{"id":"4","0":"4","nom":"Bretagne","1":"Bretagne"},{"id":"5","0":"5","nom":"Centre","1":"Centre"}]
Quelqu'un peut-il m'expliquer svp?
Merci d'avance
PS: Au passage quand le tableau est de cette forme :
Il est passé ou l'indice "0" à chaque fois lorsqu'on encode en JSON?array
0 =>
array
0 => string 'Alsace' (length=6)
1 =>
array
0 => string 'Aquitaine' (length=9)
...
Merci
Partager