PHP rsort函数返回错误的顺序

时间:2016-09-08 07:36:18

标签: php

我正在尝试按降序对数组值进行排序,但PHP排序不正确。 这是我的代码示例:

<?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%

我也尝试了其他排序功能,但仍无法得到正确的结果。

3 个答案:

答案 0 :(得分:2)

您可以尝试如下:

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

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

var_dump($scores);

这是我的在线测试: enter link description here

我希望能解决你的问题:

答案 1 :(得分:0)

试试这个,只使用sort函数

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

DEMO

答案 2 :(得分:0)

使用:

rsort($scores,SORT_NUMERIC);

而不是:

rsort($scores);