Home  >  Article  >  Backend Development  >  How to sort from small to large in php

How to sort from small to large in php

PHPz
PHPzOriginal
2023-04-25 18:26:562367browse

When developing web applications, the need to sort data is often involved. PHP is a programming language that facilitates data sorting, and sorting operations can be performed through built-in functions. This article will introduce how to implement sorting from small to large in PHP.

1. Basic sorting function

PHP provides two built-in sorting functions: sort() and rsort(), which are used for forward sorting and reverse sorting respectively. These two functions will modify the original array so that it is sorted according to a certain rule. If you need not to sort according to multiple rules at the same time, you can use usort() and uasort().

  1. sort() function

sort() function is used for positive order sorting. Its basic syntax is as follows:

sort($array, $sort_flags);

Among them, $array means to be The name of the sorted array. The $sort_flags optional parameter is used to control the sorting method. There are the following 4 values:

  • SORT_REGULAR: Sort according to conventional comparison. If the data types of the elements are different, it will be sorted. Forced type conversion;
  • SORT_NUMERIC: Sort by numerical comparison, elements will be converted to numerical types before comparison;
  • SORT_STRING: Sort by string comparison;
  • SORT_LOCALE_STRING : Sort by string comparison relative to the current culture.

If the $sort_flags parameter is not passed, it will be sorted by SORT_REGULAR by default.

After the sort() function is executed, the original array will be arranged according to the specified sorting method, from small to large.

For example, the following code demonstrates the basic use of the sort() function:

$array = array(10, 5, 8, 15, 7);
sort($array);
print_r($array);

The result is:

Array
(
    [0] => 5
    [1] => 7
    [2] => 8
    [3] => 10
    [4] => 15
)
  1. rsort() function

The rsort() function is used for sorting in reverse order. Its basic syntax is the same as the sort() function, except that it is sorted from large to small.

For example, the following code demonstrates the use of the rsort() function:

$array = array(10, 5, 8, 15, 7);
rsort($array);
print_r($array);

The result is:

Array
(
    [0] => 15
    [1] => 10
    [2] => 8
    [3] => 7
    [4] => 5
)

2. Multidimensional array sorting

sort( ) and rsort() functions can only sort one-dimensional arrays. If you want to sort multi-dimensional arrays, you can use the usort() function.

usort() function needs to customize a comparison function. This function accepts two parameters, which are the two array elements to be compared. The return value is an integer. If the first element is less than the second element, Returns a negative number when sorting, a positive number if the first element is greater than the second element, and 0 if the two elements are equal.

For example, the following code demonstrates how to use the usort() function to sort a multidimensional array:

$data = array(
    array('name' => 'Tom', 'age' => 25),
    array('name' => 'Tim', 'age' => 30),
    array('name' => 'Carl', 'age' => 20),
    array('name' => 'Bob', 'age' => 35),
);

// 自定义比较函数
function cmp($a, $b)
{
    if ($a['age'] > $b['age']) {
        return 1;
    } elseif ($a['age'] < $b[&#39;age&#39;]) {
        return -1;
    } else {
        return 0;
    }
}

usort($data, &#39;cmp&#39;);

print_r($data);

The result is:

Array
(
    [0] => Array
        (
            [name] => Carl
            [age] => 20
        )

    [1] => Array
        (
            [name] => Tom
            [age] => 25
        )

    [2] => Array
        (
            [name] => Tim
            [age] => 30
        )

    [3] => Array
        (
            [name] => Bob
            [age] => 35
        )

)

3. Read data from the database

In practical applications, most of the data that needs to be sorted is read from the database, and the ORDER BY clause of the SQL statement can be used to sort the query results.

For example, the following is an SQL statement sorted from small to large by age from the users table in the MySQL database:

SELECT * FROM `users` ORDER BY `age` ASC;

You can obtain it by executing the above SQL statement through PHP A list of users sorted by age from smallest to largest.

4. Summary

This article introduces several methods of sorting from small to large in PHP, including built-in functions such as sort(), rsort(), usort(), and through SQL The way statements are sorted. Developers can choose appropriate methods based on different needs and data sources to easily implement data sorting.

The above is the detailed content of How to sort from small to large 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