Est il possible d'utiliser sort 2 fois de suites sur le meme array ? - PHP - Programmation
Marsh Posté le 14-09-2004 à 22:22:28
is_dir() ou is_file()
Marsh Posté le 14-09-2004 à 23:16:56
Nonnon, mon problème n'est pas de savoir s'il s'agit d'un fichier ou pas, mais de les trier 2 fois (un tri par date, et une separation fichier-repertoire).
A moins que is_dir ou is_file me le permet ?
edit : d'apres ce que je viens de lire sur php.net, on ne dirait pas.
Marsh Posté le 14-09-2004 à 23:20:38
Perso, dès que le tri devient un peu délicat, je passe sur usort et une fonction de comparaison, c'est probablement la meilleure solution dans ton cas
Marsh Posté le 14-09-2004 à 23:25:44
bah j'ai essayé de faire ca apres le 1er sort, mais je ne m'en suis pas sorti
Je suis en train de regarder usort sur php.net, ca a l'air d'être quelque comme cela, mais faudra que je cherche un peu comment m'en sortir alors, car je ne peux pas faire une seule fonction sur les 2 critères j'imagine.
Merci pour l'aide.
Marsh Posté le 14-09-2004 à 23:33:40
Ca dépend si tu veux faire deux tris consécutifs indépendants ou un seul tri multi-critère
Bon, ceci dit, la fonction de callback pourrait être hard, j'vais essayer pour le fun
Marsh Posté le 15-09-2004 à 00:47:00
Bon, ben j'ai fait l'expérience, la fonction de callback n'est pas spécialement difficile à écrire, c'est juste un bel exercice de logique
Marsh Posté le 15-09-2004 à 01:14:12
euh c'est quoi une fonction de callback ? du récursif ?
Je suis tout bébé dans le monde du php ( et de toute facon mon niveau en prog, dans les autres langages est pas top non plus )
Je regarderais cela demain apres midi,
Merci
Marsh Posté le 15-09-2004 à 01:42:21
Non, c'est juste une terminologie qui désigne un appel particulier à une fonction créée par l'utilisateur mais pas sous la forme normale.
Par exemple
Code :
|
mafonction est une fonction utilisateur appellée en callback par usort. C'est donc usort lui même qui passera les paramètres à la mafonction.
Bref, te casse pas la tête avec les noms, la fonction de callback dans ton problème, c'est la fonction de comparaison entre 2 éléments
Marsh Posté le 15-09-2004 à 10:56:38
oh ok, c'est ce que j'avais tenté avec un sort moi.
Je vais regarder cela tout à l'heure, la je n'ai pas trop le temps.
Merci bien,
Marsh Posté le 15-09-2004 à 11:15:59
naceroth a écrit : Bon, ben j'ai fait l'expérience, la fonction de callback n'est pas spécialement difficile à écrire, c'est juste un bel exercice de logique |
Ben tu testes l'attribut 1 (date), tu tries dessus, si les dates sont identiques du testes l'attribut 2 et tu tries dessus
non?
j'ai oublié un truc?
gee -> doc usort, ca peut t'être utile
Marsh Posté le 15-09-2004 à 13:06:16
Comme cela j'obtiendrais une alternance dossier-fichier en fonction de la data non ?
Alors que moi je veux mettre tout les dossiers en 1er et après les fichiers (comme dans tout ftp classique ).
Merci pour la doc, mais je connais le site, j'ai juste beaucoup de mal à trouvé ce que je cherche quand je ne connais pas la commande
Merci pour l'aide.
Marsh Posté le 15-09-2004 à 13:11:42
bin t'inverses, tu tries d'abord par dossiers/fichiers puis par date
donc (un peu au pif, je fais jamais de PHP)
Code :
|
Marsh Posté le 15-09-2004 à 13:16:03
Oh ok je commence a mieux comment marche la fonction de comparaison.
Merci bien.
Marsh Posté le 15-09-2004 à 17:09:42
Masklinn a écrit : Ben tu testes l'attribut 1 (date), tu tries dessus, si les dates sont identiques du testes l'attribut 2 et tu tries dessus |
Non, c'est ça, faut juste bien déterminer quand tu renvois -1, 0 ou 1, elle est pas difficile à écrire à part ça
Marsh Posté le 15-09-2004 à 17:18:19
naceroth a écrit : Non, c'est ça, faut juste bien déterminer quand tu renvois -1, 0 ou 1, elle est pas difficile à écrire à part ça |
non, c'est pas ca, c'est l'inverse faut d'abord regarder si c'est file ou dir, et si les 2 sont identiques, par date...
Marsh Posté le 15-09-2004 à 17:26:36
Citation : non, c'est pas ca, c'est l'inverse faut d'abord regarder si c'est file ou dir, et si les 2 sont identiques, par date... |
1- je demandais confirmation sur le principe du tri, pas sur l'ordre des opérations
2- l'ordre de tri n'était pas initialement précisé
3- l'ordre correct des opérations dans le callback a été corrigé et donné après que l'auteur m'ait donné des informations complémentaires sur la manière de trier, 5 messages au dessus du tien
Marsh Posté le 15-09-2004 à 18:24:55
Bon je crois que j'ai réussi finalement,
Merci à vous de m'avoir mis sur le droit chemin, et en effet j'ai galéré sur les 1/-1 au final , mais bon ca marche
Marsh Posté le 16-09-2004 à 09:32:55
Masklinn a écrit :
|
je vais juste te repondre "ce message ne t'etait pas destine"... vu que j'repondais pas a toi, mais a celui qui te cite et qui dit "c'est ca"
Marsh Posté le 16-09-2004 à 17:14:06
FunkyMan a écrit : je vais juste te repondre "ce message ne t'etait pas destine"... vu que j'repondais pas a toi, mais a celui qui te cite et qui dit "c'est ca" |
1. Masklinn demandait confirmation sur le principe du tri, pas sur l'ordre des opérations
2. l'ordre de tri n'était pas précisé
3. l'ordre correct des opérations dans le callback est laissé à la discretion de l'auteur d'origine, qui n'est pas la personne à qui j'ai répondu "c'est ça"
Marsh Posté le 16-09-2004 à 18:08:38
Ne vous enervez pas, c'est ma faute de ne pas avoir précisé tot l'ordre du tri, mais dans ma tête c'était logique
Marsh Posté le 14-09-2004 à 22:04:23
Salut,
j'ai un petit script php, pour afficher les fichiers de mon repertoire ftp.
J'ai réussi à faire les tris par date, par contre j'aimerais séparer les dossiers des fichiers, donc je pensais trier par date tout ca, puis après rajouter 0 pour les dossier, 1 pour les fichiers, et faire un tri numérique, mais ca me donne n'importe quoi.
Donc c'est peut etre impossible,
je n'ai pas trouvé de tri qui peuvent me faire ca, mais j'ai peut etre mal vu .. Merci bien
---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"