asort (), rsort (), arsort ()

Функції asort, rsort, arsort

Якщо потрібно зберігати індекси елементів масиву після сортування, то потрібно використовувати функцію asort (масив [, опції]). Якщо необхідно відсортувати масив у зворотному порядку, тобто від найбільшого значення до найменшого, то можна використати функцію rsort (масив [, опції]). А якщо при цьому потрібно ще й зберегти значення ключів, то слід використовувати функцію arsort (масив [, опції]). Як ви, напевно, помітили синтаксис у цих функцій абсолютно такий же, як у функції sort. Відповідно і значення опцій можуть бути такими ж, як у sort: SORT_REGULAR, SORT_NUMERIC, SORT_STRING. До речі кажучи, прапор SORT_NUMERIC з'явився тільки в PHP4.

Приклад. Застосування функцій asort, rsort, arsort

<? Php 
$books = array ("Пушкін" => "Руслан і Людмила", 
"Толстой" => "Війна і мир", 
"Лермонтов" => "Герой нашого часу"); 
asort ($books); 
// Сортуємо масив, 
// Зберігаючи значення ключів 
print_r ($books); 
echo "<br>"; 
rsort ($books); 
// Сортуємо масив у зворотному порядку, 
// Ключі будуть замінені 
print_r($books); 
?>

У результаті роботи цього скрипта одержимо: 
Array ([Толстой] => Війна і мир 
[Лермонтов] => Герой нашого часу 
[Пушкін] => Руслан і Людмила) 
Array ([0] => Руслан і Людмила 
[1] => Герой нашого часу 
[2] => Війна і мир)