Home  >  Article  >  Backend Development  >  How to use sort function to sort array in PHP

How to use sort function to sort array in PHP

WBOY
WBOYOriginal
2023-06-26 12:47:211606browse

PHP provides the sort function to help us sort arrays. This function supports sorting ordinary arrays, associative arrays, and multidimensional arrays. In this article, we will explore how to sort an array using the sort function.

Basic usage of sort function

When the sort function sorts an array, it will automatically change the order of the original array. The syntax of the sort function is as follows:

sort(array &$array, int $sort_flags = SORT_REGULAR): bool

Among them, $array is the array that needs to be sorted; $sort_flags is an optional parameter, used to specify the rules for sorting, including SORT_NUMERIC (sorted by numerical values), SORT_STRING (sorted by letters) sequential sorting) and SORT_FLAG_CASE (case insensitive). By default, the sort function sorts strings alphabetically, regardless of data type.

Example 1: Sorting ordinary arrays

First, we need to create an ordinary array to show the sorting operation of the sort function on ordinary arrays. The following is an example:

$cars = array("Volvo", "BMW", "Toyota");
sort($cars);
print_r($cars);

The above code will sort the $cars array (which contains three elements "Volvo", "BMW", "Toyota") and output the sorted results (in alphabetical order arrangement).

The output result is:

Array
(
    [0] => BMW
    [1] => Toyota
    [2] => Volvo
)

Example 2: Sorting associative arrays

The sort function can also be used to sort associative arrays. The following is an example:

$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
asort($age);
print_r($age);

The above code will sort the $age array (that is, it contains three key-value pairs, each key-value pair is in the form of key => value) and output the sorted results. (Arranged by value). Note that when we use the asort function to sort the array, we get an associative array, that is, the key-value pairs are not sorted, but are arranged according to the size of the values.

The output result is:

Array
(
    [Peter] => 35
    [Ben] => 37
    [Joe] => 43
)

Example 3: Sorting multi-dimensional arrays

The sort function can also be used to sort multi-dimensional arrays. The following is an example:

$age = array(
    array("name"=>"Peter", "age"=>35),
    array("name"=>"Ben", "age"=>37),
    array("name"=>"Joe", "age"=>43)
);
 
function compare_age($a, $b)
{
    return $a['age'] - $b['age'];
}
 
usort($age, 'compare_age');
print_r($age);

The above code will sort the $age array (that is, it contains three sub-arrays, each sub-array contains two key-value pairs), and output the sorted results (from smallest to smallest age) large array). In the above code, we have customized a compare_age function to compare the ages of two sub-arrays and return a value indicating the relative order of the two sub-arrays. Finally, we use the usort function to sort the $age array. The sorting rule is to call our custom compare_age function.

The output result is:

Array
(
    [0] => Array
        (
            [name] => Peter
            [age] => 35
        )
 
    [1] => Array
        (
            [name] => Ben
            [age] => 37
        )
 
    [2] => Array
        (
            [name] => Joe
            [age] => 43
        )
)

To sum up, it is very simple to use the sort function to sort the array. Just pass in the array that needs to be sorted, and then sort according to the corresponding rules. Whether it is an ordinary array, an associative array, or a multidimensional array, the sort function can do the job.

The above is the detailed content of How to use sort function to sort array in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn