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

How to use sort function to sort array in PHP

WBOY
Release: 2023-06-26 12:56:01
Original
1638 people have browsed it

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
Copy after login

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);
Copy after login

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
)
Copy after login

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);
Copy after login

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
)
Copy after login

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);
Copy after login

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
        )
)
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template