Bonsoir,


J'utilise un array que je stock en BDD à l'aide de serialize($mon_array).
Pour info, c'est un tableau associatif, du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Array(
"titre1" => "Impli",
"titre2" => "Machin"
);
J'extrais donc mon array à l'aide d'un mysql_fetch_assoc();, puis j'utlise la fonction unserialize() afin de retrouver mon "vrai" tableau. Jusqu'ici, pas de problème.
Mais tout se complique lorsque je souhaite trier les clefs de mon tableau ...

La fonction ksort() me sort sans arrêt un FALSE si je m'en sers sur le tableau passé par unserialize(); mais ne me dit rien si j'applique cette même fonction sur un tableau que je viens de créer (sans être passé par serialize(); puis unserialize(); ).


Par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$data = mysql_fetch_assoc($sql);
$arr_conseil = unserialize($data['conseil']);
print_r(ksort($arr_conseil));
Me donne une erreur (FALSE).


Mais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$arr_conseil = array("titre1" => "Impli", "titre2" => "Machin");
print_r(ksort($arr_conseil));
Ne me retourne pas d'erreur. (Le tableau est trié comme souhaité)


Alors que les deux tableaux semblent (sont ?) identiques si les affiche via un print_r.



Aurais-je raté une étape ? Ou ai-je mal utilisé telle ou telle fonctions ?



Dans tous les cas, je vous remercie d'avance pour votre aide et vos précieux conseils.




Impli.