Sort an array in descending order and maintain index association

- « array_walk_recursive

- asort »

- PHP Manual
- Array Functions
- Sort an array in descending order and maintain index association

# arsort

(PHP 4, PHP 5, PHP 7, PHP 8)

arsort — Sort an array in descending order and maintain index association

### Description

arsort(array `&$array`, int `$flags` = `SORT_REGULAR`): true

Sorts `array` in place in descending order, such that its keys maintain their correlation with the values they are associated with.

This is used mainly when sorting associative arrays where the actual element order is significant.

> Note:

> If two members compare as equal, they retain their original order. Prior to PHP 8.0.0, their relative order in the sorted array was undefined.

> Note:

> Resets array's internal pointer to the first element.

### Parameters

`array`

  The input array.

`flags`

  The optional second parameter `flags` may be used to modify the sorting behavior using these values:

  Sorting type flags:

  - `SORT_REGULAR` - compare items normally; the details are described in the comparison operators section
  - `SORT_NUMERIC` - compare items numerically
  - `SORT_STRING` - compare items as strings
  - `SORT_LOCALE_STRING` - compare items as strings, based on the current locale. It uses the locale, which can be changed using setlocale()
  - `SORT_NATURAL` - compare items as strings using "natural ordering" like natsort()
  - `SORT_FLAG_CASE` - can be combined (bitwise OR) with `SORT_STRING` or `SORT_NATURAL` to sort strings case-insensitively

### Return Values

Always returns `true`.

### Changelog

Version | Description
--- | ---
8.2.0 | The return type is `true` now; previously, it was bool.

### Examples

Example #1 arsort() example

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

The above example will output:

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

The fruits have been sorted in reverse alphabetical order, and the index associated with each element has been maintained.

### See Also

- sort() - Sort an array in ascending order
- asort() - Sort an array in ascending order and maintain index association
- The comparison of array sorting functions