Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1172 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Est il possible d'utiliser sort 2 fois de suites sur le meme array ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Est il possible d'utiliser sort 2 fois de suites sur le meme array ?

n°850285
gee
Bon ben hon
Posté le 14-09-2004 à 22:04:23  profilanswer
 

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!"
mood
Publicité
Posté le 14-09-2004 à 22:04:23  profilanswer
 

n°850314
simogeo
j'ai jamais tué de chats, ...
Posté le 14-09-2004 à 22:22:28  profilanswer
 

is_dir() ou is_file()


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°850369
gee
Bon ben hon
Posté le 14-09-2004 à 23:16:56  profilanswer
 

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.


Message édité par gee le 14-09-2004 à 23:17:52

---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
n°850370
naceroth
Posté le 14-09-2004 à 23:20:38  profilanswer
 

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 :)

n°850371
gee
Bon ben hon
Posté le 14-09-2004 à 23:25:44  profilanswer
 

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.


---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
n°850378
naceroth
Posté le 14-09-2004 à 23:33:40  profilanswer
 

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 :)

n°850429
naceroth
Posté le 15-09-2004 à 00:47:00  profilanswer
 

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 :D

n°850452
gee
Bon ben hon
Posté le 15-09-2004 à 01:14:12  profilanswer
 

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 :D )
 
Je regarderais cela demain apres midi,
 
Merci


---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
n°850464
naceroth
Posté le 15-09-2004 à 01:42:21  profilanswer
 

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 :
  1. function mafonction($a,$b){
  2. ...
  3. }
  4. usort($tableau,'mafonction');


 
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 :)


Message édité par naceroth le 15-09-2004 à 01:42:48
n°850582
gee
Bon ben hon
Posté le 15-09-2004 à 10:56:38  profilanswer
 

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,


---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
mood
Publicité
Posté le 15-09-2004 à 10:56:38  profilanswer
 

n°850593
masklinn
í dag viðrar vel til loftárása
Posté le 15-09-2004 à 11:15:59  profilanswer
 

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 :D


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? [:gratgrat]
j'ai oublié un truc? [:gratgrat]
 
gee -> doc usort, ca peut t'être utile ;)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°850686
gee
Bon ben hon
Posté le 15-09-2004 à 13:06:16  profilanswer
 

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 :D ).
 
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 :ange:
 
Merci pour l'aide.


---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
n°850695
masklinn
í dag viðrar vel til loftárása
Posté le 15-09-2004 à 13:11:42  profilanswer
 

bin t'inverses, tu tries d'abord par dossiers/fichiers puis par date
 
donc (un peu au pif, je fais jamais de PHP)

Code :
  1. func($a, $b)
  2. {
  3.     if(is_dir($a)&&is_file($b))
  4.     {   return 1; }
  5.     if(is_file($a)&&is_dir($b))
  6.     {   return -1; }
  7.     // comparaison des dates
  8. }


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°850699
gee
Bon ben hon
Posté le 15-09-2004 à 13:16:03  profilanswer
 

Oh ok je commence a mieux comment marche la fonction de comparaison.
 
Merci bien.


---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
n°850880
naceroth
Posté le 15-09-2004 à 17:09:42  profilanswer
 

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? [:gratgrat]
j'ai oublié un truc?  


 
Non, c'est ça, faut juste bien déterminer quand tu renvois -1, 0 ou 1, elle est pas difficile à écrire à part ça :)

n°850888
FunkyMan
Posté le 15-09-2004 à 17:18:19  profilanswer
 

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...

n°850898
masklinn
í dag viðrar vel til loftárása
Posté le 15-09-2004 à 17:26:36  profilanswer
 

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


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°850940
gee
Bon ben hon
Posté le 15-09-2004 à 18:24:55  profilanswer
 

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 :D, mais bon ca marche :)


---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
n°851474
FunkyMan
Posté le 16-09-2004 à 09:32:55  profilanswer
 

Masklinn a écrit :

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


 
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"

n°851912
naceroth
Posté le 16-09-2004 à 17:14:06  profilanswer
 

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"
 
 :sarcastic:


Message édité par naceroth le 16-09-2004 à 17:14:23
n°851991
gee
Bon ben hon
Posté le 16-09-2004 à 18:08:38  profilanswer
 

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 :ange:


---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Est il possible d'utiliser sort 2 fois de suites sur le meme array ?

 

Sujets relatifs
Problème pour utiliser une policeComment envoyer un array ?
Listage de fichiers avec arrayTableau Array [JS]
[asp.net] variable publique mais seulement pour la session? possible?Comment utiliser XQuery avec un exemple concret
c'est possible de faire ça ??? [javascript inside]Comment récupere la valeur d'un array avec les globales ?
est-il possible de mettre un compteur sans que celui-ci apparaisse?[SQL SERVER] - Utiliser une variable locale dans un CURSOR (TSQL)
Plus de sujets relatifs à : Est il possible d'utiliser sort 2 fois de suites sur le meme array ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR