Sorting Arrays in PHP (original) (raw)

Last Updated : 30 Sep, 2024

Sorting arrays is one of the most common operation in programming, and PHP provides a several functions to handle array sorting. Sorting arrays in PHP can be done by values or keys, in ascending or descending order. PHP also allows you to create custom sorting functions.

Table of Content

**Sort an Array in Ascending Order – sort() Function

The sort() function is used to sort an array by values in ascending order. It reindexes the array numerically after sorting the array elements. It means the original keys are lost.

**Syntax:

sort(array &$array, int $sort_flags = SORT_REGULAR);

**Example: Sort the array elements in ascending order using PHP sort() function.

PHP `

`

Output

Array ( [0] => 2 [1] => 13 [2] => 22 [3] => 40 [4] => 61 )

**Sort an Array in Descending Order – rsort() Function

The rsort() function sorts an array by values in descending order. Like sort(), it reindexes the array numerically.

**Syntax:

rsort(array &$array, int $sort_flags = SORT_REGULAR);

**Example: Sort the array elements in descending order using PHP rsort() function.

PHP `

`

Output

Array ( [0] => 61 [1] => 40 [2] => 22 [3] => 13 [4] => 2 )

**Sort an **Array in Ascending Order According to Array Values – asort() Function

The asort() function sorts an array by values in ascending order while maintaining the key-value association.

**Syntax:

asort(array &$array, int $sort_flags = SORT_REGULAR);

**Example: Sort the array in ascending order according to array values using PHP rsort() function.

PHP `

"23", "Shankar"=>"47", "Kailash"=>"41" ); asort($arr); print_r($arr) ?>

`

Output

Array ( [Ayush] => 23 [Kailash] => 41 [Shankar] => 47 )

Sort an Array in Descending Order According to Array Value – arsort() Function

The arsort() function sorts an array by values in descending order while maintaining the key-value association.

**Syntax:

arsort(array &$array, int $sort_flags = SORT_REGULAR);

**Example: Sort the array in descending order according to array values using PHP arsort() function.

PHP `

"23", "Shankar"=>"47", "Kailash"=>"41" ); arsort($arr); print_r($arr); ?>

`

Output

Array ( [Shankar] => 47 [Kailash] => 41 [Ayush] => 23 )

**Sort an **Array in Ascending Order According to Array Key – ksort() Function

The ksort() function sorts an array by keys in ascending order, preserving key-value pairs.

**Syntax:

ksort(array &$array, int $sort_flags = SORT_REGULAR);

**Example: Sort the array in ascending order according to array ket using PHP ksort() function.

PHP `

"23", "Shankar"=>"47", "Kailash"=>"41" ); ksort($arr); print_r($arr) ?>

`

Output

Array ( [Ayush] => 23 [Kailash] => 41 [Shankar] => 47 )

**Sort Array in Descending Order According to Array Key – krsort() Function

The krsort() function sorts an array by keys in descending order, preserving key-value pairs.

**Syntax:

krsort(array &$array, int $sort_flags = SORT_REGULAR);

**Example: Sort the array in descending order according to array ket using PHP krsort() function.

PHP `

"23", "Shankar"=>"47", "Kailash"=>"41" ); krsort($arr); print_r($arr) ?>

`

Output

Array ( [Shankar] => 47 [Kailash] => 41 [Ayush] => 23 )

Sort an Array using User-Defined Comparison Function – uasort() Function

The uasort() function sorts an array with a user-defined comparison function, while maintaining the key-value association.

**Syntax:

uasort(array &$array, callable $callback);

**Example: Sort an array using comparison function (user defined) in uasort() function.

PHP `

4, "b" => 2, "g" => 8, "d" => 6, "e" => 1, "f" => 9 ); uasort($arr,"sort_array"); // Print the sorted array print_r($arr); ?>

`

Output

Array ( [e] => 1 [b] => 2 [a] => 4 [d] => 6 [g] => 8 [f] => 9 )