Sort an array in ascending order

- « sizeof

- uasort »

- PHP Manual
- Array Functions
- Sort an array in ascending order

# sort

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

sort — Sort an array in ascending order

### Description

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

Sorts `array` in place by values in ascending order.

> 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: This function assigns new keys to the elements in `array`. It will remove any existing keys that may have been assigned, rather than just reordering the keys.

> 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 sort() example

    <?php$fruits = array("lemon", "orange", "banana", "apple");sort($fruits);foreach ($fruits as $key => $val) {    echo "fruits[" . $key . "] = " . $val . "\n";}?>

The above example will output:

    fruits[0] = apple
    fruits[1] = banana
    fruits[2] = lemon
    fruits[3] = orange

The fruits have been sorted in alphabetical order.

Example #2 sort() example using case-insensitive natural ordering

    <?php$fruits = array(    "Orange1", "orange2", "Orange3", "orange20");sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);foreach ($fruits as $key => $val) {    echo "fruits[" . $key . "] = " . $val . "\n";}?>

The above example will output:

    fruits[0] = Orange1
    fruits[1] = orange2
    fruits[2] = Orange3
    fruits[3] = orange20

The fruits have been sorted like natcasesort().

### Notes

> Note: Like most PHP sorting functions, sort() uses an implementation of » Quicksort. The pivot is chosen in the middle of the partition resulting in an optimal time for already sorted arrays. This is however an implementation detail you shouldn't rely on.

Warning

Be careful when sorting arrays with mixed types values because sort() can produce unexpected results, if `flags` is `SORT_REGULAR`.

### See Also

- rsort() - Sort an array in descending order
- The comparison of array sorting functions