Open In App

Sorting Arrays in PHP

Last Updated : 30 Sep, 2024
Summarize
Comments
Improve
Suggest changes
Like Article
Like
Share
Report
News Follow

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.

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

$arr = array(40, 61, 2, 22, 13);
sort($arr);

print_r($arr);

?>

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

$arr = array(40, 61, 2, 22, 13);
rsort($arr);

print_r($arr);

?>

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

$arr = array(
      "Ayush"=>"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

$arr = array(
      "Ayush"=>"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

$arr = array(
      "Ayush"=>"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

$arr = array(
      "Ayush"=>"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 

// User defined comparator function 
function sort_array($a, $b) { 
    if ($a==$b) return 0; 
        return ($a<$b)?-1:1; 
} 

// Input Array 
$arr = array(
    "a" => 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
)
 


Next Article

Similar Reads

three90RightbarBannerImg