PHP:按数字降序排序数组

6
这个问题看起来应该有一个简单的答案,但是谷歌和PHP手册对我没有帮助,也许是因为我不理解它们在告诉我什么。
我有一个数组示例:
$outcomes_array = array(1,4,2,3,5);

这个数组总是包含数字,我该如何对它进行排序,使其始终按降序排列?

所以我想要的输出是:

$outcomes_array[0] = 5
$outcomes_array[1] = 4
$outcomes_array[2] = 3

and so on...

Thanks :)


6
$outcomes_array 数组按照从大到小的顺序排序。 - Jimmy Sawczuk
6个回答

15

谢谢,我知道这一定很简单 :P - George Reith

9
rsort( $outcomes_array )

请注意,这并不是
$outcomes_array = rsort( $outcomes_array );

4
rsort( $outcomes_array );
print_r( $outcomes_array );

2
  • rsort仅适用于数值数组
  • arsort适用于带有键的数组

1

默认情况下是SORT_REGULAR - 正常比较项目(不更改类型)因此代码应该是:

$outcomes_array = array(1,4,2,3,5);
rsort( $outcomes_array, SORT_NUMERIC );//SORT_NUMERIC - compare items numerically
print_r( $outcomes_array );

0
$array = [2, 1, 22, 1, 3, 134, 3, 43, 23, 4];

function mi($arr){
    $count = count($arr);
    for ($j = 0; $j < $count; $j++) {
        $min = $arr[0];

        for ($i = 0; $i < count($arr); $i++) {
            if ($arr[$i] <= $min) {
                $min = $arr[$i];
            }
        }
        $ar[] = $min;

        for ($i = 0; $i < count($arr); $i++) {
            if ($arr[$i] == $min) {
                unset ($arr[$i]);
                $arr = array_values($arr);
                break;
            }
        }
    }
    return $ar;
 }
print_r(mi($array));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接