PHP: сортировать массив по убыванию - PullRequest
6 голосов
/ 26 мая 2011

этот вопрос, похоже, должен иметь простой ответ, но Google и руководство по php мне не помогают, может быть, я просто не понимаю, что они говорят мне.

У меня есть массив пример:

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

Он всегда будет содержать только цифры, как мне отсортировать этот массив, чтобы он всегда был в порядке убывания?

итак, я хочу:

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

и так далее ...

Спасибо:)

Ответы [ 6 ]

14 голосов
/ 26 мая 2011

Использование rsort().

6 голосов
/ 26 мая 2011
rsort( $outcomes_array )

Обратите внимание, это не

$outcomes_array = rsort( $outcomes_array );
4 голосов
/ 26 мая 2011
rsort( $outcomes_array );
print_r( $outcomes_array );
2 голосов
/ 29 апреля 2013
  • rsort только для числового массива
  • arsort для массива с ключами
0 голосов
/ 30 августа 2017
$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));
0 голосов
/ 11 ноября 2014

По умолчанию SORT_REGULAR - сравнивать элементы как обычно (не меняйте типы). Поэтому код должен быть:

$outcomes_array = array(1,4,2,3,5);
rsort( $outcomes_array, SORT_NUMERIC );//SORT_NUMERIC - compare items numerically
print_r( $outcomes_array );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...