que je suis un boulet, un énorme boulet même....
quand je dis que c'est pas bon de rester trop longtemps sur le meme code....
que je suis un boulet, un énorme boulet même....
quand je dis que c'est pas bon de rester trop longtemps sur le meme code....
Merci ca marche impeccable, on peut passez à la seconde question
Comment je fais pour trier $tableau pas date_paiement
J'ai fait
sort($tableau)
cela semble suffire mais j'aimerais avoir votre confirmation
Salut
Il y a plusieurs méthodes pour trier un tableau et je crois que toutes sont expliquées dans la doc
Hint : array_multisort()
Je sais mais j'aurias voulut savoir laquelle vous me conseillez et pourquoi ?Envoyé par Yogui
En général, il y a toujours une méthode qui fonctionne mieux que les autres ou qui est plus simple (en un mot : qui est plus adaptée).
Je n'ai pas suivi ton histoire mais il y a deux méthodes principales pour trier un tableau (1- tableau normal et 2- tableau multidimensionnel) : pas de quoi se noyer dans les informations !
usort est très bien pour ce genre de tri :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function compare_selon_mon_critere($a, $b) { return strnatcasecmp($a['date_paiement'], $b['date_paiement']); } usort($tableau, 'compare_selon_mon_critere');
Le problème c'est que ta fonction trie par odre alphabétique moi je voudrais trier par ordre de date sachant que ma date est du format :
Est ce que quelqu'un peut m'aider je m'en sors pas la...8 Décembre 2006 10:53:20
pas possible. enfin si mais assez couteux. le plus simple pour comparer deux dates est d'utiliser le format année-mois-jour-heures-minutes-secondes
effectivmeent je m'en suis rendu compte et je l'ai passé a ce format, donc après si je fais juste sort($tableau) ca suffit non,
mon format est maintenant
2005-12-08 11:22:34
Tiens, essaie ceci : (pas testé)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 function strtotime_fr($str) { $str_en = preg_replace( array( '`janvier`i', '`février`i', '`mars`i', '`avril`i', '`mai`i', '`juin`i', '`juillet`i', '`aout`i', '`septembre`i', '`octobre`i', '`novembre`i', '`décembre`i' ), array( 'January', 'February', 'March', 'April', 'May', 'June', 'Jully', 'August', 'September', 'October', 'November', 'December' ), $str ); return strtotime($str_en); } function compare($a, $b) { return strcmp(strtotime_fr($a['date_paiement']), strtotime_fr($b['date_paiement'])); } usort($tableau, 'compare');
Non ca ne suffit pas, il faut utiliser usort pour lui dir quel colonne il doit utiliser.Envoyé par schlough
tu aurais pas zappé un peu mon message juste au dessus ??
je suis passé sur un fomat avec que des chiffrees, j'ai fais un sort sur mon tableau a priori il n'y a aucun probleme, j'aurais juste voulu une confirmation...
je comprends pas ta remarque la...Envoyé par Mr N.
avec un sort, il va prendre la plus petite année apres le plus petit mois et apres le plus petit jour etc donc ca pose pas de probleme...
Le temps que je tape ma proposition de code tu avais déjà répondu. Nos posts ce sont croisés.
Sinon sort convient pour un tableau de types 'simples' (int, string, date) si tu dois trier un tableau contenant des type mixed sort ne convient plus.
j'ai pourtant fait une dizaine de test et aucun probleme a signaler...
qinon quel fonction utiliser avec usort ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager