PHP 4, PHP 5, PHP 7, PHP 8
sort - Sort an array in ascending order

sort( arrayarray, [int$flags = SORT_REGULAR] ): bool

Sorts array in place by values in ascending order.


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.


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.


Resets array's internal pointer to the first element.



The input array.


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.



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.


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

Related Functions

Example of sort

Show all examples for sort

PHP Version: