[ PHP ] sort() ne sait-il pas trier ? + test de mon site...

sort() ne sait-il pas trier ? + test de mon site... [ PHP ] - PHP - Programmation

Marsh Posté le 11-05-2004 à 23:33:08    

Je demande à trier un array composé d'éléments de type chaîne;
et sort() sur l'array me donne ce tris là:

JJLister-3_7_10
Photos
editeur
galerie
rep piège


Pourquoi ?
rsort() me donne la même chose à l'envers (logique! mais bon:()
 
Comment réélement trier par ordre ALPHABETIQUE ?
(j'ai essayé avec le paramètre de sort(array,int tris))
ça ne change rien  :sweat:  
 
Sinon que pensez vous de ce site ?
http://duoweb.free.fr/l.php ?
faille de sécus, idées etc...
(sources dispo dans le répertoire 'pub/Sources_et_infos' )
 
Merci [:jjgan]


---------------
Qui suis-je ? Que fais-je ? | phpLister | Perdu ? Vous êtes ici --> *
Reply

Marsh Posté le 11-05-2004 à 23:33:08   

Reply

Marsh Posté le 11-05-2004 à 23:47:03    

en fait je viens de comprendre,
sort tient compte de la case,
les majuscules sont en premiers;
comment faire pour trier sans tenir compte des majuscules ?
en cassant l'index de l'array orriginal (pas comme natcasesort() )


---------------
Qui suis-je ? Que fais-je ? | phpLister | Perdu ? Vous êtes ici --> *
Reply

Marsh Posté le 12-05-2004 à 07:30:44    

strtolower?

Reply

Marsh Posté le 12-05-2004 à 07:48:15    

Non car j'ai besoin des bon noms après ! :(


---------------
Qui suis-je ? Que fais-je ? | phpLister | Perdu ? Vous êtes ici --> *
Reply

Marsh Posté le 12-05-2004 à 08:54:44    

Reply

Marsh Posté le 12-05-2004 à 13:13:41    

jjgan a écrit :

(pas comme natcasesort() )


non :/


---------------
Qui suis-je ? Que fais-je ? | phpLister | Perdu ? Vous êtes ici --> *
Reply

Marsh Posté le 12-05-2004 à 13:58:40    

Je sais pas si c'est le plus simple, mais un mélange de natcaesort et de array_values fait ce que tu veux
 

Code :
  1. $faille=array("POSTE", "B", "POSTE", "asdf", "bsdf", "asdf" );
  2. natcasesort($faille);
  3. $faille=array_values($faille);
  4. foreach ($faille as $key=>$val)
  5. {echo $key.'=>'.$val.'<br />';
  6. }


 
Te donne

Code :
  1. 0=>asdf
  2. 1=>asdf
  3. 2=>B
  4. 3=>bsdf
  5. 4=>POSTE
  6. 5=>POSTE


 
Edit : plus propre


Message édité par deliriumtremens le 12-05-2004 à 14:02:04
Reply

Marsh Posté le 12-05-2004 à 14:06:29    


j'avais bien lu. mais je ne vois pas le problème quant à l'utilisation de cette fonction

Reply

Marsh Posté le 12-05-2004 à 14:13:08    

Code :
  1. usort($array, "strcasecmp" );


Message édité par djdie le 12-05-2004 à 14:14:04
Reply

Marsh Posté le 12-05-2004 à 15:25:55    

deliriumtremens a écrit :

Je sais pas si c'est le plus simple, mais un mélange de natcaesort et de array_values fait ce que tu veux
 

Code :
  1. $faille=array("POSTE", "B", "POSTE", "asdf", "bsdf", "asdf" );
  2. natcasesort($faille);
  3. $faille=array_values($faille);
  4. foreach ($faille as $key=>$val)
  5. {echo $key.'=>'.$val.'<br />';
  6. }


 
Te donne

Code :
  1. 0=>asdf
  2. 1=>asdf
  3. 2=>B
  4. 3=>bsdf
  5. 4=>POSTE
  6. 5=>POSTE


 
Edit : plus propre


C'est ce que j'ai trouvé entre temps :)


---------------
Qui suis-je ? Que fais-je ? | phpLister | Perdu ? Vous êtes ici --> *
Reply

Marsh Posté le 12-05-2004 à 15:25:55   

Reply

Marsh Posté le 12-05-2004 à 15:27:33    

jjgan a écrit :

C'est ce que j'ai trouvé entre temps :)


 
Eh bien il est temps de passer à la solution de djdie ;)

Reply

Marsh Posté le 12-05-2004 à 15:41:51    

deliriumtremens a écrit :

Eh bien il est temps de passer à la solution de djdie ;)


Quel est le probleme de natcasesort sachant que je suis obligé d'utiliser le foreach apres... ?


---------------
Qui suis-je ? Que fais-je ? | phpLister | Perdu ? Vous êtes ici --> *
Reply

Marsh Posté le 12-05-2004 à 16:08:31    

jjgan a écrit :

Quel est le probleme de natcasesort sachant que je suis obligé d'utiliser le foreach apres... ?


 
Rien de bien grave, le résultat est exactement le même, mais tu fais un seul traitement, c'est probablement un micro-poil plus rapide et tu auras moins de lignes de codes...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed