2016-09-08 7 views
1

配列の値を降順でソートしようとしていますが、PHPのソートが正しくありません。 はここに私のコードの例です:PHPのrsort関数が不正な順序を返す

<?php $scores = array('98%','90%', '85%','100%','74%'); 
    rsort($scores); 
    foreach($scores AS $key=>$val){ 
    echo $key.'=>'.$val.'<br/>'; 
    } 
?> 

そして結果は次のとおりです。

0=>98% 
1=>90% 
2=>85% 
3=>74% 
4=>100% 

しかし、私はそれはこのようになりたい:

0=>100% 
1=>98% 
2=>90% 
3=>85% 
4=>74% 

私も試みた他は機能の並べ替え、それでも正しい結果を得ることはできません。

+0

は、私はこの問題は、あなたの代わりに整数の文字列を並べ替えることだと思います。 –

答えて

0

用途:

rsort($scores,SORT_NUMERIC); 

の代わりに:

rsort($scores); 
+0

ありがとうございました。私はこの方法を選び、それは今私のために働く。 – Wasinha

2

あなたは以下のように試すことができます:ここでは

$scores = array('98%','90%', '85%','100%','74%'); 

var_dump($scores); 
rsort($scores, SORT_NUMERIC); 

var_dump($scores); 

は、私のテストをオンラインで: enter link description here

私はあなたの問題を解決するために願っています:

0

のみsort機能

を使用し、これを試してください
$scores = array('98%','90%', '85%','100%','74%'); 
sort($scores); 
foreach($scores AS $key=>$val){ 
    echo $key.'=>'.$val.'<br/>'; 
} 

DEMO

関連する問題