Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/05/2011, 14h20   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2009
Messages : 26
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 26
Points : 13
Points : 13
Par défaut trier un tableau par date

Bonjour,
J'ai un tableau contenant des nom de fichiers, de la forme:
[0][fichier1]
[1][fichier2]
...
[N]fichierN]

et un tableau de la forme
[fichier1][date]
[fichier2][date]
...

avec date de la forme "2011-05-19 15:37:33"

Et je souhaite trier mon second tableau du plus récent au plus vieux.
le souci c'est que je ne vois pas trop comment faire,j'ai tenté en utilisant usort() de la façon suivante:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<?php
 
function sort_date($a, $b)
{
$d1 = new DateTime($a);
$d2 = new DateTime($b);
if ($d1 == $d2)
    return 0;
if ($d1 < $d2)
    return (1);
return (-1);
}
 
$date = usort($date, "sort_date");
?>
mais mon tableau ressort vide.

Quelqu'un a il une idée de comment faire ?

Merci
aicou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 14h32   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Utilise array_multisort()

Ce que tu fais ne vas pas car
- $a et $b ne sont pas les dates, ce sont des tableaux array(date => valeur)
- tu compares des objets (je ne pense pas que cela fonctionne)
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/05/2011, 14h47   #3
Candidat au titre de Membre du Club
 
Inscription : mars 2009
Messages : 26
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 26
Points : 13
Points : 13
array_multisort() fonctionne au poil merci.

au sujet des comparaison d'objet je ne sais pas trop comment ca fonctionne en php (je suis plus habituer au surcharge d'opérateurs en C++) mais dans la doc ils font des chose comme ca :

Code :
1
2
3
4
5
6
7
8
9
 
<?php
$date1 = new DateTime("now");
$date2 = new DateTime("tomorrow");
 
var_dump($date1 == $date2);
var_dump($date1 < $date2);
var_dump($date1 > $date2);
?>
donc je pense que ca doit être possible.

En tout cas merci.
aicou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h10.


 
 
 
 
Partenaires

Hébergement Web