PHP:按数字顺序排序数组

时间:2011-05-26 14:32:16

标签: php arrays sorting

这个问题看起来应该有一个简单的答案,但谷歌和PHP手册对我没有帮助,也许我只是不明白他们告诉我什么。

我有一个数组示例:

$outcomes_array = array(1,4,2,3,5);

它将始终只包含数字,如何对此数组进行排序以使其始终按降序排列?

所以输出我想要:

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

依旧......

谢谢:)

6 个答案:

答案 0 :(得分:14)

使用rsort()

答案 1 :(得分:6)

rsort( $outcomes_array )

注意,不是

$outcomes_array = rsort( $outcomes_array );

答案 2 :(得分:4)

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

答案 3 :(得分:2)

rsort用于数字数组...对于带键的数组,最好使用arsort ... d'oh!

答案 4 :(得分:0)

默认为SORT_REGULAR - 正常比较项目(不要更改类型) 所以代码应该是:

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

答案 5 :(得分: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));