Home  >  Article  >  Backend Development  >  How to sort values ​​in an array using php

How to sort values ​​in an array using php

王林
王林Original
2023-05-11 09:32:36790browse

In PHP, there are many ways to sort the values ​​in an array. In this article, we will cover some common sorting methods in PHP and provide sample code to help you better understand how to sort values ​​in an array.

1. sort() function

sort() is one of PHP's built-in sorting functions. It can sort the values ​​in the array in ascending order, that is, sort from small to large. The usage of the sort() function is as follows:

sort($array);

Among them, $array represents the array to be sorted.

The sample code is as follows:

$ages = array(20, 15, 30, 25, 18);
sort($ages);
print_r($ages);

The above code will output the following results on the screen:

Array
(
    [0] => 15
    [1] => 18
    [2] => 20
    [3] => 25
    [4] => 30
)

If you want to sort in descending order, you can use the rsort() function. The usage of the rsort() function is similar to the usage of the sort() function.

The sample code is as follows:

$ages = array(20, 15, 30, 25, 18);
rsort($ages);
print_r($ages);

The above code will output the following results on the screen:

Array
(
    [0] => 30
    [1] => 25
    [2] => 20
    [3] => 18
    [4] => 15
)

2. asort() function

asort() function You can sort the values ​​in an array in ascending order, preserving the key names. In other words, after sorting, the relationship between key names and values ​​remains unchanged. This is useful for situations where you need to look up a key name based on its value.

The usage of the asort() function is as follows:

asort($array);

Among them, $array represents the array to be sorted.

The sample code is as follows:

$ages = array("Peter"=>20, "John"=>15, "Mary"=>30, "David"=>25, "Jake"=>18);
asort($ages);
print_r($ages);

The above code will output the following results on the screen:

Array
(
    [John] => 15
    [Jake] => 18
    [Peter] => 20
    [David] => 25
    [Mary] => 30
)

If you want to sort in descending order, you can use the arsort() function.

The sample code is as follows:

$ages = array("Peter"=>20, "John"=>15, "Mary"=>30, "David"=>25, "Jake"=>18);
arsort($ages);
print_r($ages);

The above code will output the following results on the screen:

Array
(
    [Mary] => 30
    [David] => 25
    [Peter] => 20
    [Jake] => 18
    [John] => 15
)

3. ksort() function

ksort() function You can sort the values ​​in an array in ascending order based on the key name. The usage of the ksort() function is as follows:

ksort($array);

Among them, $array represents the array to be sorted.

The sample code is as follows:

$age = array("Peter"=>20, "John"=>15, "Mary"=>30, "David"=>25, "Jake"=>18);
ksort($age);
print_r($age);

The above code will output the following results on the screen:

Array
(
    [David] => 25
    [Jake] => 18
    [John] => 15
    [Mary] => 30
    [Peter] => 20
)

If you want to sort in descending order, you can use the krsort() function.

The sample code is as follows:

$age = array("Peter"=>20, "John"=>15, "Mary"=>30, "David"=>25, "Jake"=>18);
krsort($age);
print_r($age);

The above code will output the following results on the screen:

Array
(
    [Peter] => 20
    [Mary] => 30
    [John] => 15
    [Jake] => 18
    [David] => 25
)

4. usort() function

If you need to customize To define sorting logic, you can use the usort() function. The usort() function allows you to define a callback function for comparing two values. This callback function will accept two parameters and return an integer less than, equal to, or greater than 0 to indicate the ordering relationship between the two values.

usort() function is used as follows:

usort($array, $callback);

Among them, $array represents the array to be sorted, and $callback represents the callback function used to compare two values.

The sample code is as follows:

function cmp($a, $b)
{
    if ($a == $b) {
        return 0;
    }
    return ($a > $b) ? -1 : 1;
}

$ages = array(20, 15, 30, 25, 18);
usort($ages, "cmp");
print_r($ages);

The above code will output the following results on the screen:

Array
(
    [0] => 30
    [1] => 25
    [2] => 20
    [3] => 18
    [4] => 15
)

In the above example, we defined a callback named "cmp" function. This function accepts two parameters ($a, $b) and returns an integer less than, equal to, or greater than 0. In this example, we use a callback function to sort the values ​​in the array in descending order.

Summary

In PHP, there are many ways to sort the values ​​in an array. You can sort in ascending and descending order using sort() and rsort() functions. You can also use the asort() and arsort() functions to sort an array based on values ​​and preserve the key names. If you need to sort the values ​​in an array based on key names, you can use the ksort() and krsort() functions. Finally, if you need custom sorting logic, you can use the usort() function.

No matter what type of sorting you need, there are corresponding functions and methods in PHP to help you complete the task. By learning the above content, you can more freely operate the values ​​in the array when writing PHP code and improve your development efficiency.

The above is the detailed content of How to sort values ​​in an array using 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