arsort

(PHP 4, PHP 5, PHP 7)

arsortСортирует массив в обратном порядке, сохраняя ключи

Описание

bool arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Эта функция сортирует массив в обратном порядке таким образом, что сохраняются отношения между ключами и значениями.

Она полезна, в основном, при сортировке ассоциативных массивов, когда важно сохранить отношение ключ => значение.

Список параметров

array

Входной массив.

sort_flags

Вы можете изменить поведение сортировки, используя дополнительный параметр sort_flags, подробнее см. sort().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования arsort()

<?php
$fruits 
= array("d" => "lemon""a" => "orange""b" => "banana""c" => "apple");
arsort($fruits);
foreach (
$fruits as $key => $val) {
    echo 
"$key = $val\n";
}
?>

Результат выполнения данного примера:

a = orange
d = lemon
b = banana
c = apple

Названия фруктов были отсортированы в обратном порядке и ключи, ассоциированные с элементами, были сохранены.

Смотрите также

Коментарии

If you need to sort a multi-demension array, for example, an array such as 

$TeamInfo[$TeamID]["WinRecord"] 
$TeamInfo[$TeamID]["LossRecord"] 
$TeamInfo[$TeamID]["TieRecord"] 
$TeamInfo[$TeamID]["GoalDiff"]
$TeamInfo[$TeamID]["TeamPoints"] 

and you have say, 100 teams here, and want to sort by "TeamPoints":

first, create your multi-dimensional array. Now, create another, single dimension array populated with the scores from the first array, and with indexes of corresponding team_id... ie
$foo[25] = 14
$foo[47] = 42
or whatever.
Now, asort or arsort the second array.
Since the array is now sorted by score or wins/losses or whatever you put in it, the indices are all hoopajooped.
If you just walk through the array, grabbing the index of each entry, (look at the asort example. that for loop does just that) then the index you get will point right back to one of the values of the multi-dimensional array.
Not sure if that's clear, but mail me if it isn't...
-mo
1999-11-24 21:30:31
http://php5.kiev.ua/manual/ru/function.arsort.html
Автор:
Needed to get the index of the max/highest value in an assoc array.
max() only returned the value, no index, so I did this instead.

<?php
reset
($x);   // optional.
arsort($x);
$key_of_max key($x);   // returns the index.
?>
2011-10-13 16:40:07
http://php5.kiev.ua/manual/ru/function.arsort.html
I have two servers; one running 5.6 and another that is running 7.  Using this function on the two servers gets me different results when all of the values are the same. 

<?php

$list 
json_decode('{"706":2,"703":2,"702":2,"696":2,"658":2}'true);

print_r($list);

arsort($list);
echo 
"<br>";

print_r($list);

?>

PHP 5.6 results:
Array ( [706] => 2 [703] => 2 [702] => 2 [696] => 2 [658] => 2 ) 
Array ( [658] => 2 [696] => 2 [702] => 2 [703] => 2 [706] => 2 )

PHP 7 results:
Array ( [706] => 2 [703] => 2 [702] => 2 [696] => 2 [658] => 2 ) 
Array ( [706] => 2 [703] => 2 [702] => 2 [696] => 2 [658] => 2 )
2017-06-09 04:25:19
http://php5.kiev.ua/manual/ru/function.arsort.html

    Поддержать сайт на родительском проекте КГБ