Sorting Arrays in PHP


What is Sorting?

Sorting is the process of arranging a collection of items or data elements in a particular order, usually based on some predefined criteria. It is a fundamental operation in computer science and is used extensively in various algorithms and applications.

The purpose of sorting is to bring organization and structure to a set of data so that it can be easily searched, accessed, or presented in a meaningful way. By arranging the data in a specific order, sorting allows for efficient searching, comparison, and retrieval operations.

Sorting can be performed on various types of data, such as numbers, strings, records, or objects. The order in which the elements are sorted can be ascending (from the smallest to the largest) or descending (from the largest to the smallest), depending on the requirements of the problem or application.

Sorting Arrays in PHP

In PHP, there are several built-in functions and methods available to sort arrays. Let's explore them in detail:

Sort Array in Ascending Order - sort()

The sort() function sorts an array in ascending order based on the values. It reorders the elements of the array and modifies the original array.

Example 1

The following example sorts the elements of the $numbers array in ascending numerical order:

<?php
$numbers = array(4, 2, 1,5, 3);
sort($numbers);
print_r($numbers); 
?>

Output

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Example 2

The following example sorts the elements of the $fruits array in ascending alphabetical order.

<?php
$fruits = array("banana", "apple", "cherry", "date");
sort($fruits);
print_r($fruits); 
?>

Output

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
    [3] => date
)

Sort Array in Descending Order - rsort()

The rsort() function is similar to sort(), but it sorts the array in descending order.

Example 1

<?php
$numbers = array(4, 2, 1,5, 3);
rsort($numbers);
print_r($numbers); 
?>

Output

Array
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)

Example 2

<?php
$fruits = array("banana", "apple", "cherry");
arsort($fruits);
print_r($fruits); 
?>

Output

Array
(
    [2] => cherry
    [0] => banana
    [1] => apple
)

Sort Array (Ascending Order), According to Value - asort()

The asort() function sorts an array in ascending order based on the values while maintaining the association between keys and values.

Example 1

<?php
$fruits = array("apple" => 3, "banana" => 2, "cherry" => 1);
asort($fruits);
print_r($fruits);
?>

Output

Array
(
    [cherry] => 1
    [banana] => 2
    [apple] => 3
)

Sort Array (Ascending Order), According to Key - ksort()

The ksort() function sorts an array in ascending order based on the keys while maintaining the association between keys and values.

Example 1

<?php
$age = array("Peter"=>"60", "Ben"=>"45", "Joe"=>"36");
ksort($age);
print_r($age);
?>

Output

Array
(
    [Ben] => 45
    [Joe] => 36
    [Peter] => 60
)

Sort Array (Descending Order), According to Value - arsort()

The arsort() function is similar to asort(), but it sorts the array in descending order while maintaining the association between keys and values.

Example 

<?php
$age = array("Peter"=>"60", "Ben"=>"36", "Joe"=>"45");
arsort($age);
print_r($age);
?>

Output

Array
(
    [Peter] => 60
    [Joe] => 45
    [Ben] => 36
)

Sort Array (Descending Order), According to Key - krsort()

The krsort() function is similar to ksort(), but it sorts the array in descending order based on the keys while maintaining the association between keys and values.

Example

<?php
$fruits = array("banana" => 2, "apple" => 3, "cherry" => 1);
krsort($fruits);
print_r($fruits);  // Output: Array ( [cherry] => 1 [banana] => 2 [apple] => 3 )
?>

Output

Array
(
    [cherry] => 1
    [banana] => 2
    [apple] => 3
)

Conclusion

In conclusion, Sorting is the process of arranging a collection of items or data elements in a specific order. In PHP, you can sort arrays using various built-in functions like sort(), rsort(), asort(), arsort(), ksort(), and krsort(). These functions allow you to sort arrays based on values or keys in ascending or descending order. Additionally, the usort() function enables custom sorting based on a user-defined comparison function. Sorting arrays in PHP is essential for organizing and manipulating data, making it easier to search, access, and present information in a meaningful way.

Updated on: 02-Aug-2023

915 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements