Tri d'un tableau

Résolu
skalarache Messages postés 28 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 10 novembre 2007 - 9 nov. 2007 à 18:38
skalarache Messages postés 28 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 10 novembre 2007 - 10 nov. 2007 à 11:44
Bonjour,
Alors voila, j'essaie de trier un tableau qui contient des valeurs numériques (exemple : 300,9,500,...)
En faite, le tri se passe bien mais il considère que 9 est plus grand que 500.. Il me semble qu'il ne regarde que le premier chiffre d'un nombre...
Voici le code qui me donne ce  résultat :

$ok=0;
 while($ok==0){
  $ok=1;
  for ($i=1;$i<=$cpt-1;$i++){
   if ($tableauProvisoire[$i]<$tableauProvisoire[$i+1]){
    $temp=$tableauProvisoire[$i];
    $tableauProvisoire[$i]=$tableauProvisoire[$i+1];
    $tableauProvisoire[$i+1]=$temp;
    $ok=0;
   };
  };
 };

Merci d'avance pour votre précieuse aide...

Julien

2 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
9 nov. 2007 à 19:36
Salut,n

Pourquoi est-ce que tu n'utilises pas les fonctions natives de tri de php ?
http://fr2.php.net/manual/fr/function.sort.php
http://fr2.php.net/manual/fr/function.asort.php
http://fr2.php.net/manual/fr/function.ksort.php

Elles sont sûrement plusieurs fois plus rapides que ta fonction...
3
skalarache Messages postés 28 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 10 novembre 2007
10 nov. 2007 à 11:44
Salut,
Merci de ta réponse Neigedhiver.
Je débute en php et je ne connaissais pas ces fonctions...
Malgré cela, le problème subsistait et en faite, j'ai trouvé mon erreur, c'est qu'au moment de remplir mon tableau, j'avais mis en gras ces valeurs pour l'affichage.... en gros j'avais $tableau[$i]=''.$valeur.''; En enlevant cet attribut ça marche!!
0
Rejoignez-nous