Home  >  Article  >  Backend Development  >  How to sort array by key in PHP

How to sort array by key in PHP

PHPz
PHPzforward
2024-03-19 09:13:18603browse

php editor Strawberry will introduce to you how to sort arrays by key names in PHP. In PHP, you can use the ksort() function to sort an array in ascending order by key name, and use the krsort() function to sort an array in descending order by key name. These two functions will maintain the key-value association of the array and only sort the key names, which is very convenient and practical. Through these functions, you can easily sort arrays by key names and better manage and manipulate array data.

PHP array is sorted by key name

Introduction

In php, you can use the ksort() function to sort the array by key name. This function sorts the keys of the array in ascending order while maintaining the corresponding values.

grammar

ksort(array &$array);

in:

  • $array is the array that needs to be sorted, and the array will be modified directly.

usage

To sort the array by key name, you can use the following steps:

  1. Declare and initialize an array.
  2. Use the ksort() function to sort the array.

Example

$array = ["apple" => 10, "banana" => 20, "cherry" => 30, "dog" => 40];

ksort($array);

print_r($array);

Output:

Array
(
[apple] => 10
[banana] => 20
[cherry] => 30
[dog] => 40
)

Additional options

The following additional options can be used to control sorting behavior:

  • SORT_REGULAR: Sort by the natural order of key names (default).
  • SORT_NUMERIC: Sort by the numeric value of the key name.
  • SORT_STRING: Sort by the string value of the key name.

Custom sorting

If you need more complex sorting of key names, you can use a custom sort function. Custom sorting functions need to be in the following format:

function compare_function(string $a, string $b): int;

in:

  • $a and $b are the key names to be compared.
  • The value returned by this function can be one of the following:
    • -1 if $a comes before $b.
    • 0 if $a and $b are equal.
    • 1, if $a comes after $b.

Example

To customize the sort key name, please perform the following steps:

  1. Define a custom sorting function.
  2. Pass the custom sort function as the second parameter to the ksort() function.

Example

function custom_sort($a, $b)
{
return strcmp(strtoupper($a), strtoupper($b));
}

$array = ["apple" => 10, "banana" => 20, "cherry" => 30, "dog" => 40];

ksort($array, "custom_sort");

print_r($array);

Output:

Array
(
[apple] => 10
[banana] => 20
[cherry] => 30
[dog] => 40
)

Notice

  • ksort() The function will directly modify the passed array.
  • If the array contains duplicate key names, only the first key name and its corresponding value will be retained.
  • You can also use the krsort() function to sort the array in descending order by key name.

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

Statement:
This article is reproduced at:lsjlt.com. If there is any infringement, please contact admin@php.cn delete