Tri d'un tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Tri d'un tableau

Re: Tri d'un tableau

par Herve_be » 01 mars 2011, 17:29

J'ai trouvé !
Il trie comme ceci

ATK.jpg
Absorption.jpg
Absorption2.jpg
Acropora bleu 2007-06.jpg
Acropora.jpg
Algue rouge.jpg
Alim RAC.jpg
...
Tunze 7095.jpg
Ver.jpg
Zelio 1.jpg
Zelio 2.jpg
Zelio ecran.jpg
cakh.jpg
cuve.jpg
cuve2.jpg
horloge.jpg

Simplement le tri commence par les majuscules, les minuscules vienennt ensuite !
A noter que j'ai essayé
asort($tab);
ça fonctionne aussi bien (enfin aussi mal) que la function cmp.

Alors la question devient : comment faire pour qu'il ne tienne pas compte de la casse ?

Re: Tri d'un tableau

par Herve_be » 01 mars 2011, 16:43

Ma question ne concerne pas la recherche dans un dossier, il concerne le tri d'un tableau.

Re: Tri d'un tableau

par stealth35 » 01 mars 2011, 16:30

plus simple glob + natcasesort

Re: Tri d'un tableau

par Herve_be » 01 mars 2011, 16:28

<?php
function cmp($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
?>

Ben non, c'est la même chose, tu peux voir le résultat ici http://www.rudyv.be/Aquarium/Images.php (c'est plus lfagrant à la fin).

Re: Tri d'un tableau

par moogli » 01 mars 2011, 15:18

salut,

par rapport a l'exemple de la doc ta fonction n'est pas bonne
<?php
function cmp($a, $b)
{
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}
?>
a tu essayer sort ?

pour récupérer le contenu d'un répertoire tu peut essayer la fonction glob

@+

Tri d'un tableau

par Herve_be » 01 mars 2011, 14:53

Bonjour,
Je veux mettre les noms des fichiers d'un dossier dans une table et la trier par ordre alphabétique.
Je fais comme ceci

function cmp($a,$b)
{
return ($a[0] < $b[0]) ? -1 : 1;
}

$dir = opendir("Images");
while($file = readdir($dir)) $tab[] = $file;
usort($tab, "cmp");

Ensuite j'affiche le contenu du tableau

foreach($tab as $elem) echo $elem."<br>";

Mais il n'est pas trié !
Où est l'erreur ?