Bonjour,
Voici le code qui génère un tableau à partir du résultat d'une requête :
Voici un var_dump exemple du tableau $historique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 while($row = mysql_fetch_array($result)) { $historique["lot_{$row['id_lot']}"][$i]['type_lot'] = $row['type_de_lot']; $historique["lot_{$row['id_lot']}"][$i]['date'] = $row['heureFinJeu']; $historique["lot_{$row['id_lot']}"][$i]['temps'] = $row['dureeQuizz']; $historique["lot_{$row['id_lot']}"][$i]['mots'] = $row['nbCorrectes']; $i++; }
=> J'ai mis en évidence le fait que chaque lot présente des indices de 0 à 4 pour le lot_1 et de 5 à 9 pour le lot_9.array(2) { ["lot_1"]=> array(5) { [0]=> array(4) { ["type_lot"]=> string(6) "type_1" ["date"]=> string(19) "2011-09-15 09:49:45" ["temps"]=> string(5) "14958" ["mots"]=> string(2) "11" } [1]=> array(4) { ["type_lot"]=> string(6) "type_1" ["date"]=> string(19) "2011-09-15 09:49:20" ["temps"]=> string(5) "13125" ["mots"]=> string(2) "10" } [2]=> array(4) { ["type_lot"]=> string(6) "type_1" ["date"]=> string(19) "2011-09-15 09:48:50" ["temps"]=> string(5) "25400" ["mots"]=> string(2) "11" } [3]=> array(4) { ["type_lot"]=> string(6) "type_1" ["date"]=> string(19) "2011-09-15 09:45:45" ["temps"]=> string(5) "35842" ["mots"]=> string(2) "12" } [4]=> array(4) { ["type_lot"]=> string(6) "type_1" ["date"]=> string(19) "2011-09-15 09:44:34" ["temps"]=> string(5) "34270" ["mots"]=> string(2) "12" } } ["lot_9"]=> array(5) { [5]=> array(4) { ["type_lot"]=> string(6) "type_2" ["date"]=> string(19) "2011-09-28 11:36:53" ["temps"]=> string(5) "21769" ["mots"]=> string(2) "11" } [6]=> array(4) { ["type_lot"]=> string(6) "type_2" ["date"]=> string(19) "2011-09-26 00:31:34" ["temps"]=> string(5) "20182" ["mots"]=> string(2) "12" } [7]=> array(4) { ["type_lot"]=> string(6) "type_2" ["date"]=> string(19) "2011-09-26 00:31:07" ["temps"]=> string(5) "18880" ["mots"]=> string(2) "11" } [8]=> array(4) { ["type_lot"]=> string(6) "type_2" ["date"]=> string(19) "2011-09-26 00:30:42" ["temps"]=> string(5) "21414" ["mots"]=> string(2) "10" } [9]=> array(4) { ["type_lot"]=> string(6) "type_2" ["date"]=> string(19) "2011-09-26 00:30:15" ["temps"]=> string(5) "17972" ["mots"]=> string(2) "11" } } }
Voici maintenant le résultat du json_encode du tableau :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $jsonHisto = json_encode($historique);
=> Cette fois, seul le lot 9 a ses indices ! Toutes les valeurs concernant le lot_1 sont encadrées globalement de crochets !string(876) "{"lot_1":[{"type_lot":"type_1","date":"2011-09-15 09:49:45","temps":"14958","mots":"11"},{"type_lot":"type_1","date":"2011-09-15 09:49:20","temps":"13125","mots":"10"},{"type_lot":"type_1","date":"2011-09-15 09:48:50","temps":"25400","mots":"11"},{"type_lot":"type_1","date":"2011-09-15 09:45:45","temps":"35842","mots":"12"},{"type_lot":"type_1","date":"2011-09-15 09:44:34","temps":"34270","mots":"12"}],"lot_9":{"5":{"type_lot":"type_2","date":"2011-09-28 11:36:53","temps":"21769","mots":"11"},"6":{"type_lot":"type_2","date":"2011-09-26 00:31:34","temps":"20182","mots":"12"},"7":{"type_lot":"type_2","date":"2011-09-26 00:31:07","temps":"18880","mots":"11"},"8":{"type_lot":"type_2","date":"2011-09-26 00:30:42","temps":"21414","mots":"10"},"9":{"type_lot":"type_2","date":"2011-09-26 00:30:15","temps":"17972","mots":"11"}}}"
J'ai l'impression que ce phénomène est la cause de problèmes que je rencontre dans l'utilisation du json en Javascript.
Bug dans la fonction json_encode ou j'ai oublié un truc ?
Partager