Voilà j'aurais voulu savoir si il existait une fonction en php qui permet de trier un tableau avec dans ce tableau des dates de la forme : "YYYY-MM-JJ"
Merci par avance.
Publicité
Posté le 25-08-2005 à 15:40:56
xtof_83
Freeride Spirit
Posté le 25-08-2005 à 15:51:59
ben je pense qu'en faisant cela c'est bon:
date("Y-m-d" )
puis un sort....
faboubou
Posté le 25-08-2005 à 15:53:17
en fait j'ai retiré les - et puis je vais trier la date ainsi
faboubou
Posté le 25-08-2005 à 16:04:04
ouais tu as sans doute raison... Mais maintenant le truc c'est que c'est un tableau mutlidimensionnel du genre:
oui je suis dans la doc de array_multisort mais là je m'arrache les cheveux la syntaxe a pas l'air habituelle lol
omega2
Posté le 26-08-2005 à 17:02:49
si pour x raison php le tri comme un nombre alors :
2005-01-01 = 2003
2005-12-31 = 1962
donc si php s'imagine entrein de trier des nombres, on se retrouve avec 2005-01-01 > 2005-12-31 .
Si tu te rends compte que php est tombé dans ce piége, alros utilise la fonction usort ( http://php.benscom.com/manual/fr/function.usort.php ) qui permet de faire soit même une fonction de comparaison. php s'occupe alors de l'optimisation du tri et ta fonction indique lequel des deux valeurs comparés est le plus grand.
omega2
Posté le 26-08-2005 à 17:23:40
Dans un langage avec transtypage automatique, la question pourait se poser.
Mais c'est quand même trés peut probable que le php nous sorte un transtypage de derriére les fagos pendant un tri si toutes les données trié en une fois on le même type.
Par contre, faut avoir conscience qu'un bug est vite arrivé si on veut faire joujou avec les sources cvs ou les versions journaliéres non testés et que parfois on se prend la tête pour rien à cause d'un bug nouvellement arrivé. Ca m'est arrivé avec le php5.0 et là, je me tente la 5.1, j'espéres ne pas perdre trop de temps à cause de petits bugs dans php en lui même.
En tout cas, dans les versions publiques, j'ai jamais entendus parlé d'un transtypage dans un tri quand toutes les valeurs étaient du même type.