C'est le tableau non trié, dans le format jj-mm-aaaa:tableau de tri avec des dates avec asort() ne fonctionne pas correctement
array(6) {
["7-0"]=> string(10) "28-04-2014"
["7-1"]=> string(10) "29-04-2014"
["7-2"]=> string(10) "30-04-2014"
["7-3"]=> string(10) "01-05-2014"
["7-5"]=> string(10) "26-04-2014"
["7-6"]=> string(10) "27-04-2014"
}
Je suis maintenant en utilisant le tri:
array(6) {
["7-3"]=> string(10) "01-05-2014"
["7-5"]=> string(10) "26-04-2014"
["7-6"]=> string(10) "27-04-2014"
["7-0"]=> string(10) "28-04-2014"
["7-1"]=> string(10) "29-04-2014"
["7-2"]=> string(10) "30-04-2014"
}
En utilisant asort() pour trier le tableau par la valeur, mais ofcouse le 01 vient en premier. Y a-t-il un moyen pour moi de résoudre ce problème facilement? Il devrait être le dernier dans le tableau, donc c'est le mois prochain. (01-05-2014)
Mise à jour:
ci-dessus était la réponse var_dump() avant et après la asort(). Voici l'extrait de code ci-dessous. Après différentes tentatives, asort() a bien fonctionné jusqu'à cette semaine où c'est à peu près la fin du mois - alors le tableau n'est pas correctement trié.
$openhours_select = array();
foreach($openhours as $oh)
{
$d = date('d-m-Y', strtotime('this ' . $days[$oh['fromDay']]));
$openhours_select[$oh['id']] =$d;
}
asort($openhours_select);
Montrez-nous le code que vous avez essayé. Je ne peux pas vous aider à le réparer si nous ne pouvons pas le voir. J'ai du code prêt à partir mais je ne posterai pas jusqu'à ce que je voie un effort. –
Désolé vient juste – Karem
Qu'attendez-vous qu'il se passe? Les dates ** SONT ** triées, car ce sont des chaînes. Vous remarquerez que les jours sont tous dans l'ordre croissant. Si vous voulez un tri spécifique à la date, vous devez utiliser 'usort()' et fournir votre propre fonction de comparaison. –