2010-08-25 9 views
0

J'essaie de trier un tableau qui contient des nombres qui varient en valeurs substantielles. Le résultat que je veux obtenir est un ordre décroissant de ces nombres du tableau que je récupère d'un serveur MySQL. Jusqu'à présent, j'ai créé cela pour tester la fonction « de tri »:PHP - Tri d'un tableau

<?php 

$numbers = array("100", "50", "70", "1000"); 
sort($numbers); 
echo var_dump($numbers); 

?> 

Et le résultat que je reçois est la suivante:

array(4) { [0]=> string(2) "50" [1]=> string(2) "70" [2]=> string(3) "100" [3]=> string(4) "1000" } 

Je peux voir que les chiffres énumèrent du plus petit au plus grand, mais je veux qu'il liste du plus grand entier au plus petit entier. Aussi je ne comprends pas pourquoi il a du texte autre que les entiers. Si quelqu'un pouvait m'aider à ce sujet, je l'apprécierais grandement.

Merci,

Kevin

+0

Parce que ces valeurs sont toutes des chaînes, et vous voulez les trier comme des valeurs numériques, n'oubliez pas d'utiliser l'indicateur SORT_NUMERIC avec sort() ou rsort() –

Répondre

1

rsort() inverse trie le tableau :)

+0

Très bien, mais comment faire Je me débarrasse de l'autre texte, et juste inclure les chiffres? – lab12

+0

@Kevin - Que voulez-vous dire par "l'autre texte"? Voulez-vous dire le texte supplémentaire généré par var_dump énumérant le type de données, les valeurs de clé, etc? –

+0

ce n'est pas "autre texte" essayez $ array [0] ... il devrait simplement retourner le nombre. C'est juste la définition du type de chaîne. –

1

Permettez-moi de montrer que vous pouvez trouver une réponse vous-même.

  1. Accédez à la page manuel pour la fonction que vous utilisez actuellement: http://php.net/sort
    ALLOCUTION particulièrement facile - seulement huit caractères et un nom de fonction. Très utile.

  2. descendez jusqu'à la section See also.

  3. Choisissez la fonction appropriée.

  4. Fait!

Voir, ce n'est pas si difficile. Et pas besoin d'accepter des réponses, parce que vous avez répondu à la question vous-même.

Comme pour le texte, il n'y en a pas. Essayez simplement d'utiliser ce tableau pour quelque chose d'utile et voyez