In PHP, how to sort an array based on comparison of array values?

WBOY
Release: 2024-05-03 09:06:01
Original
838 people have browsed it

The methods for sorting arrays in PHP are: use the sort() function to sort in ascending order. Use the rsort() function to sort in descending order. Use the asort() function to sort values in an associative array in ascending order. Use the arsort() function to sort values in descending order for an associative array. Use custom comparison functions for more complex sorting.

在 PHP 中,如何根据数组值的比较对数组进行排序?

How to sort PHP array based on comparison of array values

In PHP, there are many ways to sort PHP array based on comparison of array values The comparison sorts the array. This article will introduce the use of built-in functionssort(),rsort(),asort(),arsort()and custom comparison functions Common ways to sort arrays.

Usesort()function:

sort()The function sorts the values in the array from small to large Ascending.

$arr = [3, 5, 2, 7, 1]; sort($arr); print_r($arr); // 输出: [1, 2, 3, 5, 7]
Copy after login

Usersort()function:

rsort()The function sorts the values in the array from large to small Small in descending order.

$arr = [3, 5, 2, 7, 1]; rsort($arr); print_r($arr); // 输出: [7, 5, 3, 2, 1]
Copy after login

Useasort()function:

##asort()The function sorts the values in the associative array from small to small Large ascending order, keys remain unchanged.

$arr = [ "name" => "John", "age" => 30, "city" => "New York" ]; asort($arr); print_r($arr); // 输出: [ // "age" => 30, // "city" => "New York", // "name" => "John" // ]
Copy after login

Usearsort()function:

arsort()The function sorts the values in the associative array from large to large Sort in descending order to the smallest, the keys remain unchanged.

$arr = [ "name" => "John", "age" => 30, "city" => "New York" ]; arsort($arr); print_r($arr); // 输出: [ // "name" => "John", // "city" => "New York", // "age" => 30 // ]
Copy after login

Use custom comparison functions:

For more complex sorting requirements, you can use custom comparison functions. The comparison function accepts two arguments and returns -1, 0, or 1, depending on whether the first argument is less than, equal to, or greater than the second argument.

function custom_sort($a, $b) { return strcmp($a["name"], $b["name"]); } $arr = [ ["name" => "John", "age" => 30], ["name" => "Mary", "age" => 25], ["name" => "Bob", "age" => 35] ]; usort($arr, "custom_sort"); print_r($arr); // 输出: [ // ["name" => "Bob", "age" => 35], // ["name" => "John", "age" => 30], // ["name" => "Mary", "age" => 25] // ]
Copy after login

Practical case:

The following is a practical case that shows how to use the

sort()function to sort an array of video game characters by name Sort in ascending order:

$characters = [ ["name" => "Mario", "level" => 5], ["name" => "Luigi", "level" => 3], ["name" => "Donkey Kong", "level" => 7] ]; sort($characters); print_r($characters); // 输出: [ // ["name" => "Donkey Kong", "level" => 7], // ["name" => "Luigi", "level" => 3], // ["name" => "Mario", "level" => 5] // ]
Copy after login

The above is the detailed content of In PHP, how to sort an array based on comparison of array values?. 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
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!